From 520a80e2a567dae7c116bb13e8f95986b84e866a Mon Sep 17 00:00:00 2001
From: Bob Dubner <rdubner@symas.com>
Date: Thu, 16 Jan 2025 20:38:50 -0500
Subject: [PATCH] Ran UAT failures down to two

---
 gcc/cobol/UAT/testsuite.src/run_regression.at |  43 +-
 gcc/cobol/UAT/testsuite.src/syn_misc.at       | 111 ++--
 gcc/cobol/UAT/testsuite.src/syn_move.at       | 508 +++++++++++++-----
 gcc/cobol/UAT/testsuite.src/syn_redefines.at  | 101 ++--
 gcc/cobol/UAT/testsuite.src/syn_refmod.at     |  25 +-
 gcc/cobol/UAT/testsuite.src/syn_subscripts.at |  16 +-
 gcc/cobol/UAT/testsuite.src/syn_value.at      |  38 +-
 7 files changed, 550 insertions(+), 292 deletions(-)

diff --git a/gcc/cobol/UAT/testsuite.src/run_regression.at b/gcc/cobol/UAT/testsuite.src/run_regression.at
index 57ed5af89bf3..525ddc78b6b2 100644
--- a/gcc/cobol/UAT/testsuite.src/run_regression.at
+++ b/gcc/cobol/UAT/testsuite.src/run_regression.at
@@ -88,8 +88,6 @@ AT_CHECK([$COMPILE prog.cob], [0], [], [])
 AT_CLEANUP
 
 AT_SETUP([source-computer object-computer repository (1)])
-# SOURCE-COMPUTER and OBJECT-COMPUTER not supported yet.
-# REPOSITORY section in correct order.
 AT_KEYWORDS([former-bugs source-computer object-computer repository])
 AT_DATA([prog.cob], [
        IDENTIFICATION DIVISION.
@@ -101,9 +99,10 @@ AT_DATA([prog.cob], [
        PROCEDURE DIVISION.
           DISPLAY "OK".
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:4:57: error: syntax error
-    4 |        ENVIRONMENT DIVISION.
-      |        Bob sez:  This error seems odd                 ^
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:6:27: error: syntax error, unexpected NAME, expecting '.'
+    6 |           SOURCE-COMPUTER a.
+      |                           ^
+cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
 
@@ -294,9 +293,9 @@ AT_DATA([prog.cob], [       IDENTIFICATION   DIVISION.
            END-DISPLAY.
            STOP RUN.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:10:23: error: syntax error
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:10:22: error: syntax error, unexpected ':'
    10 |            DISPLAY X(:) NO ADVANCING
-      |                       ^
+      |                      ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -316,14 +315,10 @@ AT_DATA([prog.cob], [      *> This program aborts during compilation because the
        PROCEDURE DIVISION.
        GOBACK.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:9:18: error: VAR1 limited to capacity of 37 (would need 339)
+AT_CHECK([$COMPILE prog.cob], [1], [],[prog.cob:9:21: error: VAR1 limited to capacity of 37 (would need 339)
     9 |        01 VAR1  PIC 9(3)V9(336).
-      |                  ^
-prog.cob:10:2: error: 1 errors in DATA DIVISION, compilation ceases
-   10 |        PROCEDURE DIVISION.
-      |  ^
-
+      |                     ^
+cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
 
@@ -344,22 +339,18 @@ AT_DATA([prog.cob], [       IDENTIFICATION DIVISION.
        DISPLAY VAR1 SPACE VAR2 SPACE VAR3
        GOBACK.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:5:31: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
+AT_CHECK([$COMPILE prog.cob], [1], [],[prog.cob:5:30: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
     5 |        01 VAR1  PICTURE 9(7)V9(0).
-      |                               ^
-prog.cob:6:31: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
+      |                              ^
+prog.cob:6:30: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
     6 |        01 VAR2  PICTURE 9(7)V9(0).
-      |                               ^
-prog.cob:7:31: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
+      |                              ^
+prog.cob:7:30: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
     7 |        01 VAR3  PICTURE 9(7)V9(0).
-      |                               ^
-prog.cob:8:31: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
+      |                              ^
+prog.cob:8:30: error: '(0)' invalid in PICTURE (ISO 2023 13.18.40.3)
     8 |        01 VAR4  PICTURE 9(7)V9(0).
-      |                               ^
-prog.cob:9:2: error: 4 errors in DATA DIVISION, compilation ceases
-    9 |        PROCEDURE DIVISION.
-      |  ^
+      |                              ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/syn_misc.at b/gcc/cobol/UAT/testsuite.src/syn_misc.at
index 2dac8355ebdf..88a317f23c69 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_misc.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_misc.at
@@ -487,13 +487,27 @@ cobol1: error: failed compiling prog.cob
 ])
 
 AT_CHECK([$COMPILE_ONLY prog2.cob], [1], [],
-[prog2.cob:15: error: symbol 'D3' not found at 'END-DISPLAY'
-prog2.cob:16: error: symbol '1E3' not found at 'END-DISPLAY'
-prog2.cob:17: error: symbol 'BLAH' not found at 'END-DISPLAY'
-prog2.cob:18: error: exponent includes decimal point at '1,0E3,0'
-prog2.cob:19: error: zero significand of -0,0E-0 cannot be negative at '-0,0E-0'
-prog2.cob:20: error: exponent 00003 more than 4 digits at '1,0E00003'
-prog2.cob:21: error: significand of ,123456789012345678901234567890123456789E0 has more than 36 digits (39) at ',123456789012345678901234567890123456789E0'
+[prog2.cob:15:23: error: DATA-ITEM 'D3' not found
+   15 |            DISPLAY 1,0D3 END-DISPLAY
+      |                       ^
+prog2.cob:16:20: error: DATA-ITEM '1E3' not found
+   16 |            DISPLAY 1E3 END-DISPLAY
+      |                    ^
+prog2.cob:17:25: error: DATA-ITEM 'BLAH' not found
+   17 |            DISPLAY 1,0E3BLAH END-DISPLAY
+      |                         ^
+prog2.cob:18:20: error: exponent includes decimal point
+   18 |            DISPLAY 1,0E3,0 END-DISPLAY
+      |                    ^
+prog2.cob:19:20: error: zero significand of -0,0E-0 cannot be negative
+   19 |            DISPLAY -0,0E-0 END-DISPLAY
+      |                    ^
+prog2.cob:20:20: error: exponent 00003 more than 4 digits
+   20 |            DISPLAY 1,0E00003 END-DISPLAY
+      |                    ^
+prog2.cob:21:20: error: significand of ,123456789012345678901234567890123456789E0 has more than 36 digits (39)
+   21 |            DISPLAY ,123456789012345678901234567890123456789E0
+      |                    ^
 cobol1: error: failed compiling prog2.cob
 ])
 AT_CLEANUP
@@ -525,15 +539,16 @@ AT_DATA([prog2.cob], [
            GOBACK
            .
 ])
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog2.cob:7:23: error: ANY LENGTH valid only for 01 in LINKAGE SECTION of a function or contained program
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], 
+[prog.cob:7:23: error: ANY LENGTH valid only for 01 in LINKAGE SECTION of a function or contained program
     7 |        01  str        ANY LENGTH PIC X.
       |                       ^
-cobol1: error: failed compiling prog2.cob
+cobol1: error: failed compiling prog.cob
 ])
-AT_CHECK([$COMPILE_ONLY prog2.cob], [1], [],
-[prog2.cob:7: error: ANY LENGTH valid only for 01 in LINKAGE SECTION of a function or contained program at 'LENGTH'
-prog2.cob:9: 1 errors in DATA DIVISION, compilation ceases at 'PROCEDURE DIVISION'
+AT_CHECK([$COMPILE_ONLY prog2.cob], [1], [], 
+[prog2.cob:7:23: error: ANY LENGTH valid only for 01 in LINKAGE SECTION of a function or contained program
+    7 |        01  str        ANY LENGTH PIC X.
+      |                       ^
 cobol1: error: failed compiling prog2.cob
 ])
 AT_CLEANUP
@@ -745,7 +760,6 @@ AT_CLEANUP
 
 AT_SETUP([Invalid parentheses around condition])
 AT_KEYWORDS([misc])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
@@ -759,9 +773,8 @@ AT_DATA([prog.cob], [
            END-IF
            .
 ])
-
 AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:9:23: error: syntax error, unexpected '(', expecting class name or OMITTED
+[prog.cob:9:23: error: syntax error, unexpected '[(]', expecting class name or OMITTED
     9 |            IF num NOT (LESS OR EQUALS) 0
       |                       ^
 cobol1: error: failed compiling prog.cob
@@ -774,7 +787,6 @@ AT_CLEANUP
 # Also, gcobol >>DISPLAY writes to stderr.
 AT_SETUP([conditional / define directives (3)])
 AT_KEYWORDS([misc directive])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION DIVISION.
        PROGRAM-ID.    prog.
@@ -795,14 +807,12 @@ AT_DATA([prog.cob], [
            .
        >>END-IF
 ])
-
-AT_CHECK([$COMPILE_ONLY prog.cob], [0], [OK
-], [])
+AT_CHECK([$COMPILE_ONLY prog.cob], [0], [], [OK
+])
 AT_CLEANUP
 
 AT_SETUP([error handling in conditional directives])
 AT_KEYWORDS([misc directive])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION DIVISION.
        PROGRAM-ID.    prog.
@@ -816,15 +826,16 @@ AT_DATA([prog.cob], [
            CONTINUE
            .
 ])
-
-AT_CHECK([$COMPILE_ONLY -D X prog.cob], [1],
-[No BANANA here.
-],
-[prog.cob:6: CDF syntax error: no such variable 'BANANA' at '         >>DISPLAY'
-prog.cob:10: error: name already in dictionary: X at '       >> END-IF'
-prog.cob:10: error: X previously defined in :1 at '       >> END-IF'
-prog.cob:10: >>CDF parser failed at '       >> END-IF'
-prog.cob:10: syntax error at '       >> END-IF'
+AT_CHECK([$COMPILE_ONLY -D X prog.cob], [1], [], [prog.cob:4:32: warning: CDF syntax error: no such variable 'BANANA'
+    4 |        PROCEDURE      DIVISION.
+      |                                ^
+No BANANA here.
+prog.cob:4:32: warning: name already in dictionary: X
+prog.cob:4:32: warning: X previously defined in :1
+prog.cob:4:32: error: >>CDF parser failed
+prog.cob:10:1: error: syntax error, unexpected invalid token
+   10 |        >> END-IF
+      | ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -860,7 +871,9 @@ AT_DATA([prog.cob], [
         END PROGRAM prog.
 ])
 AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:10: error: PROGRAM-ID prog already defined on line 4
+[prog.cob:9:21: error: PROGRAM-ID prog already defined on line 4
+    9 |         PROGRAM-ID. prog.
+      |                     ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -880,7 +893,9 @@ AT_DATA([prog.cob], [
         END PROGRAM prog.
 ])
 AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:10: error: redundant is not a unique reference at 'DISPLAY'
+[prog.cob:10:9: error: redundant is not a unique reference
+   10 |         DISPLAY "Hi".
+      |         ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -901,12 +916,17 @@ PROCEDURE DIVISION USING var1 RETURNING var2.
     END PROGRAM routine_c.
 ])
 AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:5: syntax error
-prog.cob:5: error: no valid VALUE supplied
-prog.cob:6: syntax error
-prog.cob:6: error: no valid VALUE supplied
-prog.cob:7: 4 errors in DATA DIVISION, compilation ceases at 'PROCEDURE DIVISION'
-prog.cob:11: END PROGRAM 'routine_c' does not match PROGRAM-ID 'routine_128_cobol'
+[prog.cob:5:26: error: syntax error, unexpected '.'
+    5 | 01  var1 pic 9(30) VALUE .
+      |                          ^
+prog.cob:5:26: error: no valid VALUE supplied
+prog.cob:6:26: error: syntax error, unexpected '.'
+    6 | 01  var2 pic 9(30) VALUE .
+      |                          ^
+prog.cob:6:26: error: no valid VALUE supplied
+prog.cob:11:5: error: END PROGRAM 'routine_c' does not match PROGRAM-ID 'routine_128_cobol'
+   11 |     END PROGRAM routine_c.
+      |     ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -967,7 +987,6 @@ AT_CLEANUP
 
 AT_SETUP([Invalid X literals])
 AT_KEYWORDS([misc])
-# TODO - Needs better error messages
 AT_DATA([prog.cob], [
        IDENTIFICATION DIVISION.
        PROGRAM-ID.    prog.
@@ -980,9 +999,9 @@ AT_DATA([prog.cob], [
                    X"1"
            END-DISPLAY.
 ])
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], [prog.cob:9: error: invalid hexadecimal value: X"GH" at 'X"GH"'
-prog.cob:9: syntax error at 'X"GH"'
-prog.cob:10: syntax error: hex literal '1' has an odd number (1) of characters at '1'
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], [prog.cob:9:20: error: syntax error, unexpected invalid token
+    9 |            DISPLAY X"GH"
+      |                    ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -1072,7 +1091,9 @@ AT_DATA([prog.cob], [        identification division.
         end program prog.
         end function func.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [cobol1: error: -main switch says "prog.cob" should contain the starting program, but none was found
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:14:1: error: -main switch says "prog.cob" should contain the starting program, but none was found
+   14 |         end function func.
+      | ^
 ])
 AT_CLEANUP
 
@@ -1089,7 +1110,9 @@ AT_DATA([prog.cob], [        identification      division.
         display "hello".
         end program         prog.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:9: error: ISO programs with DECLARATIVES must begin with a SECTION unless -dialect ibm
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:9:9: error: ISO programs with DECLARATIVES must begin with a SECTION is not ISO syntax, requires -dialect ibm
+    9 |         display "hello".
+      |         ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CHECK([$COMPILE -dialect ibm prog.cob], [0], [], [])
diff --git a/gcc/cobol/UAT/testsuite.src/syn_move.at b/gcc/cobol/UAT/testsuite.src/syn_move.at
index 07a7cba05f60..f8c93abba02a 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_move.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_move.at
@@ -316,54 +316,150 @@ AT_DATA([prog.cob], [
         MOVE X16 TO Y16.
         STOP RUN.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:66: cannot MOVE 'X2' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
-prog.cob:82: cannot MOVE 'X3' (FldNumericDisplay.2) to 'Y12' (FldAlphabetic)
-prog.cob:83: cannot MOVE 'X3' (FldNumericDisplay.2) to 'Y13' (FldAlphanumeric)
-prog.cob:84: cannot MOVE 'X3' (FldNumericDisplay.2) to 'Y14' (FldAlphaEdited)
-prog.cob:98: cannot MOVE 'X4' (FldFloat) to 'Y12' (FldAlphabetic)
-prog.cob:99: cannot MOVE 'X4' (FldFloat) to 'Y13' (FldAlphanumeric)
-prog.cob:100: cannot MOVE 'X4' (FldFloat) to 'Y14' (FldAlphaEdited)
-prog.cob:114: cannot MOVE 'X5' (FldFloat) to 'Y12' (FldAlphabetic)
-prog.cob:115: cannot MOVE 'X5' (FldFloat) to 'Y13' (FldAlphanumeric)
-prog.cob:116: cannot MOVE 'X5' (FldFloat) to 'Y14' (FldAlphaEdited)
-prog.cob:130: cannot MOVE 'X6' (FldPacked) to 'Y12' (FldAlphabetic)
-prog.cob:146: cannot MOVE 'X7' (FldPacked.2) to 'Y12' (FldAlphabetic)
-prog.cob:147: cannot MOVE 'X7' (FldPacked.2) to 'Y13' (FldAlphanumeric)
-prog.cob:148: cannot MOVE 'X7' (FldPacked.2) to 'Y14' (FldAlphaEdited)
-prog.cob:162: cannot MOVE 'X8' (FldNumericBinary) to 'Y12' (FldAlphabetic)
-prog.cob:178: cannot MOVE 'X9' (FldNumericBinary.2) to 'Y12' (FldAlphabetic)
-prog.cob:179: cannot MOVE 'X9' (FldNumericBinary.2) to 'Y13' (FldAlphanumeric)
-prog.cob:180: cannot MOVE 'X9' (FldNumericBinary.2) to 'Y14' (FldAlphaEdited)
-prog.cob:194: cannot MOVE 'X10' (FldNumericBin5) to 'Y12' (FldAlphabetic)
-prog.cob:210: cannot MOVE 'X11' (FldNumericBin5.2) to 'Y12' (FldAlphabetic)
-prog.cob:211: cannot MOVE 'X11' (FldNumericBin5.2) to 'Y13' (FldAlphanumeric)
-prog.cob:212: cannot MOVE 'X11' (FldNumericBin5.2) to 'Y14' (FldAlphaEdited)
-prog.cob:216: cannot MOVE 'X12' (FldAlphabetic) to 'Y2' (FldNumericDisplay)
-prog.cob:217: cannot MOVE 'X12' (FldAlphabetic) to 'Y3' (FldNumericDisplay.2)
-prog.cob:218: cannot MOVE 'X12' (FldAlphabetic) to 'Y4' (FldFloat)
-prog.cob:219: cannot MOVE 'X12' (FldAlphabetic) to 'Y5' (FldFloat)
-prog.cob:220: cannot MOVE 'X12' (FldAlphabetic) to 'Y6' (FldPacked)
-prog.cob:221: cannot MOVE 'X12' (FldAlphabetic) to 'Y7' (FldPacked.2)
-prog.cob:222: cannot MOVE 'X12' (FldAlphabetic) to 'Y8' (FldNumericBinary)
-prog.cob:223: cannot MOVE 'X12' (FldAlphabetic) to 'Y9' (FldNumericBinary.2)
-prog.cob:224: cannot MOVE 'X12' (FldAlphabetic) to 'Y10' (FldNumericBin5)
-prog.cob:225: cannot MOVE 'X12' (FldAlphabetic) to 'Y11' (FldNumericBin5.2)
-prog.cob:229: cannot MOVE 'X12' (FldAlphabetic) to 'Y15' (FldNumericEdited.3)
-prog.cob:230: cannot MOVE 'X12' (FldAlphabetic) to 'Y16' (FldNumericEdited)
-prog.cob:248: cannot MOVE 'X14' (FldAlphaEdited) to 'Y2' (FldNumericDisplay)
-prog.cob:249: cannot MOVE 'X14' (FldAlphaEdited) to 'Y3' (FldNumericDisplay.2)
-prog.cob:250: cannot MOVE 'X14' (FldAlphaEdited) to 'Y4' (FldFloat)
-prog.cob:251: cannot MOVE 'X14' (FldAlphaEdited) to 'Y5' (FldFloat)
-prog.cob:252: cannot MOVE 'X14' (FldAlphaEdited) to 'Y6' (FldPacked)
-prog.cob:253: cannot MOVE 'X14' (FldAlphaEdited) to 'Y7' (FldPacked.2)
-prog.cob:254: cannot MOVE 'X14' (FldAlphaEdited) to 'Y8' (FldNumericBinary)
-prog.cob:255: cannot MOVE 'X14' (FldAlphaEdited) to 'Y9' (FldNumericBinary.2)
-prog.cob:256: cannot MOVE 'X14' (FldAlphaEdited) to 'Y10' (FldNumericBin5)
-prog.cob:257: cannot MOVE 'X14' (FldAlphaEdited) to 'Y11' (FldNumericBin5.2)
-prog.cob:261: cannot MOVE 'X14' (FldAlphaEdited) to 'Y15' (FldNumericEdited.3)
-prog.cob:262: cannot MOVE 'X14' (FldAlphaEdited) to 'Y16' (FldNumericEdited)
-prog.cob:274: cannot MOVE 'X15' (FldNumericEdited.3) to 'Y12' (FldAlphabetic)
-prog.cob:290: cannot MOVE 'X16' (FldNumericEdited) to 'Y12' (FldAlphabetic)
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:66:23: error: cannot MOVE 'X2' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
+   66 |         MOVE X2 TO Y12.
+      |                       ^
+prog.cob:82:23: error: cannot MOVE 'X3' (FldNumericDisplay.2) to 'Y12' (FldAlphabetic)
+   82 |         MOVE X3 TO Y12.
+      |                       ^
+prog.cob:83:23: error: cannot MOVE 'X3' (FldNumericDisplay.2) to 'Y13' (FldAlphanumeric)
+   83 |         MOVE X3 TO Y13.
+      |                       ^
+prog.cob:84:23: error: cannot MOVE 'X3' (FldNumericDisplay.2) to 'Y14' (FldAlphaEdited)
+   84 |         MOVE X3 TO Y14.
+      |                       ^
+prog.cob:98:23: error: cannot MOVE 'X4' (FldFloat) to 'Y12' (FldAlphabetic)
+   98 |         MOVE X4 TO Y12.
+      |                       ^
+prog.cob:99:23: error: cannot MOVE 'X4' (FldFloat) to 'Y13' (FldAlphanumeric)
+   99 |         MOVE X4 TO Y13.
+      |                       ^
+prog.cob:100:23: error: cannot MOVE 'X4' (FldFloat) to 'Y14' (FldAlphaEdited)
+  100 |         MOVE X4 TO Y14.
+      |                       ^
+prog.cob:114:23: error: cannot MOVE 'X5' (FldFloat) to 'Y12' (FldAlphabetic)
+  114 |         MOVE X5 TO Y12.
+      |                       ^
+prog.cob:115:23: error: cannot MOVE 'X5' (FldFloat) to 'Y13' (FldAlphanumeric)
+  115 |         MOVE X5 TO Y13.
+      |                       ^
+prog.cob:116:23: error: cannot MOVE 'X5' (FldFloat) to 'Y14' (FldAlphaEdited)
+  116 |         MOVE X5 TO Y14.
+      |                       ^
+prog.cob:130:23: error: cannot MOVE 'X6' (FldPacked) to 'Y12' (FldAlphabetic)
+  130 |         MOVE X6 TO Y12.
+      |                       ^
+prog.cob:146:23: error: cannot MOVE 'X7' (FldPacked.2) to 'Y12' (FldAlphabetic)
+  146 |         MOVE X7 TO Y12.
+      |                       ^
+prog.cob:147:23: error: cannot MOVE 'X7' (FldPacked.2) to 'Y13' (FldAlphanumeric)
+  147 |         MOVE X7 TO Y13.
+      |                       ^
+prog.cob:148:23: error: cannot MOVE 'X7' (FldPacked.2) to 'Y14' (FldAlphaEdited)
+  148 |         MOVE X7 TO Y14.
+      |                       ^
+prog.cob:162:23: error: cannot MOVE 'X8' (FldNumericBinary) to 'Y12' (FldAlphabetic)
+  162 |         MOVE X8 TO Y12.
+      |                       ^
+prog.cob:178:23: error: cannot MOVE 'X9' (FldNumericBinary.2) to 'Y12' (FldAlphabetic)
+  178 |         MOVE X9 TO Y12.
+      |                       ^
+prog.cob:179:23: error: cannot MOVE 'X9' (FldNumericBinary.2) to 'Y13' (FldAlphanumeric)
+  179 |         MOVE X9 TO Y13.
+      |                       ^
+prog.cob:180:23: error: cannot MOVE 'X9' (FldNumericBinary.2) to 'Y14' (FldAlphaEdited)
+  180 |         MOVE X9 TO Y14.
+      |                       ^
+prog.cob:194:24: error: cannot MOVE 'X10' (FldNumericBin5) to 'Y12' (FldAlphabetic)
+  194 |         MOVE X10 TO Y12.
+      |                        ^
+prog.cob:210:24: error: cannot MOVE 'X11' (FldNumericBin5.2) to 'Y12' (FldAlphabetic)
+  210 |         MOVE X11 TO Y12.
+      |                        ^
+prog.cob:211:24: error: cannot MOVE 'X11' (FldNumericBin5.2) to 'Y13' (FldAlphanumeric)
+  211 |         MOVE X11 TO Y13.
+      |                        ^
+prog.cob:212:24: error: cannot MOVE 'X11' (FldNumericBin5.2) to 'Y14' (FldAlphaEdited)
+  212 |         MOVE X11 TO Y14.
+      |                        ^
+prog.cob:216:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y2' (FldNumericDisplay)
+  216 |         MOVE X12 TO Y2.
+      |                       ^
+prog.cob:217:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y3' (FldNumericDisplay.2)
+  217 |         MOVE X12 TO Y3.
+      |                       ^
+prog.cob:218:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y4' (FldFloat)
+  218 |         MOVE X12 TO Y4.
+      |                       ^
+prog.cob:219:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y5' (FldFloat)
+  219 |         MOVE X12 TO Y5.
+      |                       ^
+prog.cob:220:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y6' (FldPacked)
+  220 |         MOVE X12 TO Y6.
+      |                       ^
+prog.cob:221:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y7' (FldPacked.2)
+  221 |         MOVE X12 TO Y7.
+      |                       ^
+prog.cob:222:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y8' (FldNumericBinary)
+  222 |         MOVE X12 TO Y8.
+      |                       ^
+prog.cob:223:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y9' (FldNumericBinary.2)
+  223 |         MOVE X12 TO Y9.
+      |                       ^
+prog.cob:224:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y10' (FldNumericBin5)
+  224 |         MOVE X12 TO Y10.
+      |                        ^
+prog.cob:225:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y11' (FldNumericBin5.2)
+  225 |         MOVE X12 TO Y11.
+      |                        ^
+prog.cob:229:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y15' (FldNumericEdited.3)
+  229 |         MOVE X12 TO Y15.
+      |                        ^
+prog.cob:230:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y16' (FldNumericEdited)
+  230 |         MOVE X12 TO Y16.
+      |                        ^
+prog.cob:248:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y2' (FldNumericDisplay)
+  248 |         MOVE X14 TO Y2.
+      |                       ^
+prog.cob:249:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y3' (FldNumericDisplay.2)
+  249 |         MOVE X14 TO Y3.
+      |                       ^
+prog.cob:250:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y4' (FldFloat)
+  250 |         MOVE X14 TO Y4.
+      |                       ^
+prog.cob:251:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y5' (FldFloat)
+  251 |         MOVE X14 TO Y5.
+      |                       ^
+prog.cob:252:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y6' (FldPacked)
+  252 |         MOVE X14 TO Y6.
+      |                       ^
+prog.cob:253:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y7' (FldPacked.2)
+  253 |         MOVE X14 TO Y7.
+      |                       ^
+prog.cob:254:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y8' (FldNumericBinary)
+  254 |         MOVE X14 TO Y8.
+      |                       ^
+prog.cob:255:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y9' (FldNumericBinary.2)
+  255 |         MOVE X14 TO Y9.
+      |                       ^
+prog.cob:256:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y10' (FldNumericBin5)
+  256 |         MOVE X14 TO Y10.
+      |                        ^
+prog.cob:257:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y11' (FldNumericBin5.2)
+  257 |         MOVE X14 TO Y11.
+      |                        ^
+prog.cob:261:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y15' (FldNumericEdited.3)
+  261 |         MOVE X14 TO Y15.
+      |                        ^
+prog.cob:262:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y16' (FldNumericEdited)
+  262 |         MOVE X14 TO Y16.
+      |                        ^
+prog.cob:274:24: error: cannot MOVE 'X15' (FldNumericEdited.3) to 'Y12' (FldAlphabetic)
+  274 |         MOVE X15 TO Y12.
+      |                        ^
+prog.cob:290:24: error: cannot MOVE 'X16' (FldNumericEdited) to 'Y12' (FldAlphabetic)
+  290 |         MOVE X16 TO Y12.
+      |                        ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -665,46 +761,126 @@ AT_DATA([prog.cob], [        IDENTIFICATION   DIVISION.
         MOVE X16 TO Y16.
         STOP RUN.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:65: cannot MOVE 'X2' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
-prog.cob:81: cannot MOVE 'X3' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
-prog.cob:97: cannot MOVE 'X4' (FldFloat) to 'Y12' (FldAlphabetic)
-prog.cob:98: cannot MOVE 'X4' (FldFloat) to 'Y13' (FldAlphanumeric)
-prog.cob:99: cannot MOVE 'X4' (FldFloat) to 'Y14' (FldAlphaEdited)
-prog.cob:113: cannot MOVE 'X5' (FldFloat) to 'Y12' (FldAlphabetic)
-prog.cob:114: cannot MOVE 'X5' (FldFloat) to 'Y13' (FldAlphanumeric)
-prog.cob:115: cannot MOVE 'X5' (FldFloat) to 'Y14' (FldAlphaEdited)
-prog.cob:129: cannot MOVE 'X6' (FldPacked) to 'Y12' (FldAlphabetic)
-prog.cob:145: cannot MOVE 'X7' (FldPacked) to 'Y12' (FldAlphabetic)
-prog.cob:161: cannot MOVE 'X8' (FldNumericBinary) to 'Y12' (FldAlphabetic)
-prog.cob:177: cannot MOVE 'X9' (FldNumericBinary) to 'Y12' (FldAlphabetic)
-prog.cob:193: cannot MOVE 'X10' (FldNumericBin5) to 'Y12' (FldAlphabetic)
-prog.cob:209: cannot MOVE 'X11' (FldNumericBin5) to 'Y12' (FldAlphabetic)
-prog.cob:215: cannot MOVE 'X12' (FldAlphabetic) to 'Y2' (FldNumericDisplay)
-prog.cob:216: cannot MOVE 'X12' (FldAlphabetic) to 'Y3' (FldNumericDisplay)
-prog.cob:217: cannot MOVE 'X12' (FldAlphabetic) to 'Y4' (FldFloat)
-prog.cob:218: cannot MOVE 'X12' (FldAlphabetic) to 'Y5' (FldFloat)
-prog.cob:219: cannot MOVE 'X12' (FldAlphabetic) to 'Y6' (FldPacked)
-prog.cob:220: cannot MOVE 'X12' (FldAlphabetic) to 'Y7' (FldPacked)
-prog.cob:221: cannot MOVE 'X12' (FldAlphabetic) to 'Y8' (FldNumericBinary)
-prog.cob:222: cannot MOVE 'X12' (FldAlphabetic) to 'Y9' (FldNumericBinary)
-prog.cob:223: cannot MOVE 'X12' (FldAlphabetic) to 'Y10' (FldNumericBin5)
-prog.cob:224: cannot MOVE 'X12' (FldAlphabetic) to 'Y11' (FldNumericBin5)
-prog.cob:228: cannot MOVE 'X12' (FldAlphabetic) to 'Y15' (FldNumericEdited.3)
-prog.cob:229: cannot MOVE 'X12' (FldAlphabetic) to 'Y16' (FldNumericEdited)
-prog.cob:247: cannot MOVE 'X14' (FldAlphaEdited) to 'Y2' (FldNumericDisplay)
-prog.cob:248: cannot MOVE 'X14' (FldAlphaEdited) to 'Y3' (FldNumericDisplay)
-prog.cob:249: cannot MOVE 'X14' (FldAlphaEdited) to 'Y4' (FldFloat)
-prog.cob:250: cannot MOVE 'X14' (FldAlphaEdited) to 'Y5' (FldFloat)
-prog.cob:251: cannot MOVE 'X14' (FldAlphaEdited) to 'Y6' (FldPacked)
-prog.cob:252: cannot MOVE 'X14' (FldAlphaEdited) to 'Y7' (FldPacked)
-prog.cob:253: cannot MOVE 'X14' (FldAlphaEdited) to 'Y8' (FldNumericBinary)
-prog.cob:254: cannot MOVE 'X14' (FldAlphaEdited) to 'Y9' (FldNumericBinary)
-prog.cob:255: cannot MOVE 'X14' (FldAlphaEdited) to 'Y10' (FldNumericBin5)
-prog.cob:256: cannot MOVE 'X14' (FldAlphaEdited) to 'Y11' (FldNumericBin5)
-prog.cob:260: cannot MOVE 'X14' (FldAlphaEdited) to 'Y15' (FldNumericEdited.3)
-prog.cob:261: cannot MOVE 'X14' (FldAlphaEdited) to 'Y16' (FldNumericEdited)
-prog.cob:273: cannot MOVE 'X15' (FldNumericEdited.3) to 'Y12' (FldAlphabetic)
-prog.cob:289: cannot MOVE 'X16' (FldNumericEdited) to 'Y12' (FldAlphabetic)
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:65:23: error: cannot MOVE 'X2' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
+   65 |         MOVE X2 TO Y12.
+      |                       ^
+prog.cob:81:23: error: cannot MOVE 'X3' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
+   81 |         MOVE X3 TO Y12.
+      |                       ^
+prog.cob:97:23: error: cannot MOVE 'X4' (FldFloat) to 'Y12' (FldAlphabetic)
+   97 |         MOVE X4 TO Y12.
+      |                       ^
+prog.cob:98:23: error: cannot MOVE 'X4' (FldFloat) to 'Y13' (FldAlphanumeric)
+   98 |         MOVE X4 TO Y13.
+      |                       ^
+prog.cob:99:23: error: cannot MOVE 'X4' (FldFloat) to 'Y14' (FldAlphaEdited)
+   99 |         MOVE X4 TO Y14.
+      |                       ^
+prog.cob:113:23: error: cannot MOVE 'X5' (FldFloat) to 'Y12' (FldAlphabetic)
+  113 |         MOVE X5 TO Y12.
+      |                       ^
+prog.cob:114:23: error: cannot MOVE 'X5' (FldFloat) to 'Y13' (FldAlphanumeric)
+  114 |         MOVE X5 TO Y13.
+      |                       ^
+prog.cob:115:23: error: cannot MOVE 'X5' (FldFloat) to 'Y14' (FldAlphaEdited)
+  115 |         MOVE X5 TO Y14.
+      |                       ^
+prog.cob:129:23: error: cannot MOVE 'X6' (FldPacked) to 'Y12' (FldAlphabetic)
+  129 |         MOVE X6 TO Y12.
+      |                       ^
+prog.cob:145:23: error: cannot MOVE 'X7' (FldPacked) to 'Y12' (FldAlphabetic)
+  145 |         MOVE X7 TO Y12.
+      |                       ^
+prog.cob:161:23: error: cannot MOVE 'X8' (FldNumericBinary) to 'Y12' (FldAlphabetic)
+  161 |         MOVE X8 TO Y12.
+      |                       ^
+prog.cob:177:23: error: cannot MOVE 'X9' (FldNumericBinary) to 'Y12' (FldAlphabetic)
+  177 |         MOVE X9 TO Y12.
+      |                       ^
+prog.cob:193:24: error: cannot MOVE 'X10' (FldNumericBin5) to 'Y12' (FldAlphabetic)
+  193 |         MOVE X10 TO Y12.
+      |                        ^
+prog.cob:209:24: error: cannot MOVE 'X11' (FldNumericBin5) to 'Y12' (FldAlphabetic)
+  209 |         MOVE X11 TO Y12.
+      |                        ^
+prog.cob:215:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y2' (FldNumericDisplay)
+  215 |         MOVE X12 TO Y2.
+      |                       ^
+prog.cob:216:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y3' (FldNumericDisplay)
+  216 |         MOVE X12 TO Y3.
+      |                       ^
+prog.cob:217:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y4' (FldFloat)
+  217 |         MOVE X12 TO Y4.
+      |                       ^
+prog.cob:218:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y5' (FldFloat)
+  218 |         MOVE X12 TO Y5.
+      |                       ^
+prog.cob:219:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y6' (FldPacked)
+  219 |         MOVE X12 TO Y6.
+      |                       ^
+prog.cob:220:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y7' (FldPacked)
+  220 |         MOVE X12 TO Y7.
+      |                       ^
+prog.cob:221:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y8' (FldNumericBinary)
+  221 |         MOVE X12 TO Y8.
+      |                       ^
+prog.cob:222:23: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y9' (FldNumericBinary)
+  222 |         MOVE X12 TO Y9.
+      |                       ^
+prog.cob:223:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y10' (FldNumericBin5)
+  223 |         MOVE X12 TO Y10.
+      |                        ^
+prog.cob:224:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y11' (FldNumericBin5)
+  224 |         MOVE X12 TO Y11.
+      |                        ^
+prog.cob:228:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y15' (FldNumericEdited.3)
+  228 |         MOVE X12 TO Y15.
+      |                        ^
+prog.cob:229:24: error: cannot MOVE 'X12' (FldAlphabetic) to 'Y16' (FldNumericEdited)
+  229 |         MOVE X12 TO Y16.
+      |                        ^
+prog.cob:247:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y2' (FldNumericDisplay)
+  247 |         MOVE X14 TO Y2.
+      |                       ^
+prog.cob:248:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y3' (FldNumericDisplay)
+  248 |         MOVE X14 TO Y3.
+      |                       ^
+prog.cob:249:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y4' (FldFloat)
+  249 |         MOVE X14 TO Y4.
+      |                       ^
+prog.cob:250:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y5' (FldFloat)
+  250 |         MOVE X14 TO Y5.
+      |                       ^
+prog.cob:251:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y6' (FldPacked)
+  251 |         MOVE X14 TO Y6.
+      |                       ^
+prog.cob:252:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y7' (FldPacked)
+  252 |         MOVE X14 TO Y7.
+      |                       ^
+prog.cob:253:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y8' (FldNumericBinary)
+  253 |         MOVE X14 TO Y8.
+      |                       ^
+prog.cob:254:23: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y9' (FldNumericBinary)
+  254 |         MOVE X14 TO Y9.
+      |                       ^
+prog.cob:255:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y10' (FldNumericBin5)
+  255 |         MOVE X14 TO Y10.
+      |                        ^
+prog.cob:256:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y11' (FldNumericBin5)
+  256 |         MOVE X14 TO Y11.
+      |                        ^
+prog.cob:260:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y15' (FldNumericEdited.3)
+  260 |         MOVE X14 TO Y15.
+      |                        ^
+prog.cob:261:24: error: cannot MOVE 'X14' (FldAlphaEdited) to 'Y16' (FldNumericEdited)
+  261 |         MOVE X14 TO Y16.
+      |                        ^
+prog.cob:273:24: error: cannot MOVE 'X15' (FldNumericEdited.3) to 'Y12' (FldAlphabetic)
+  273 |         MOVE X15 TO Y12.
+      |                        ^
+prog.cob:289:24: error: cannot MOVE 'X16' (FldNumericEdited) to 'Y12' (FldAlphabetic)
+  289 |         MOVE X16 TO Y12.
+      |                        ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -731,8 +907,12 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:16: cannot MOVE 'X' (FldAlphabetic) to 'Y-9' (FldNumericDisplay)
-prog.cob:17: cannot MOVE 'X' (FldAlphabetic) to 'Y-09' (FldNumericEdited)
+[prog.cob:16:25: error: cannot MOVE 'X' (FldAlphabetic) to 'Y-9' (FldNumericDisplay)
+   16 |            MOVE X TO Y-9.
+      |                         ^
+prog.cob:17:26: error: cannot MOVE 'X' (FldAlphabetic) to 'Y-09' (FldNumericEdited)
+   17 |            MOVE X TO Y-09.
+      |                          ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -759,10 +939,13 @@ AT_DATA([prog.cob], [
            MOVE X TO Y-09.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:16: cannot MOVE 'X' (FldAlphaEdited) to 'Y-9' (FldNumericDisplay)
-prog.cob:17: cannot MOVE 'X' (FldAlphaEdited) to 'Y-09' (FldNumericEdited)
+[prog.cob:16:25: error: cannot MOVE 'X' (FldAlphaEdited) to 'Y-9' (FldNumericDisplay)
+   16 |            MOVE X TO Y-9.
+      |                         ^
+prog.cob:17:26: error: cannot MOVE 'X' (FldAlphaEdited) to 'Y-09' (FldNumericEdited)
+   17 |            MOVE X TO Y-09.
+      |                          ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -790,7 +973,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:13: cannot MOVE 'X' (FldNumericDisplay) to 'Y-A' (FldAlphabetic)
+[prog.cob:13:25: error: cannot MOVE 'X' (FldNumericDisplay) to 'Y-A' (FldAlphabetic)
+   13 |            MOVE X TO Y-A.
+      |                         ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -818,9 +1003,15 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:13: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-A' (FldAlphabetic)
-prog.cob:14: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-X' (FldAlphanumeric)
-prog.cob:15: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-BX' (FldAlphaEdited)
+[prog.cob:13:25: error: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-A' (FldAlphabetic)
+   13 |            MOVE X TO Y-A.
+      |                         ^
+prog.cob:14:25: error: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-X' (FldAlphanumeric)
+   14 |            MOVE X TO Y-X.
+      |                         ^
+prog.cob:15:26: error: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-BX' (FldAlphaEdited)
+   15 |            MOVE X TO Y-BX.
+      |                          ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -848,7 +1039,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:13: cannot MOVE 'X' (FldNumericEdited) to 'Y-A' (FldAlphabetic)
+[prog.cob:13:25: error: cannot MOVE 'X' (FldNumericEdited) to 'Y-A' (FldAlphabetic)
+   13 |            MOVE X TO Y-A.
+      |                         ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -873,15 +1066,22 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:11: error: X does not name a group
-prog.cob:12: error: X does not name a group
-prog.cob:13: warning: G-1 and G-2 have no corresponding fields
-prog.cob:14: warning: G-1 and G-2 have no corresponding fields at ')'
+[prog.cob:11:22: error: X does not name a group
+   11 |            MOVE CORR X TO G-1.
+      |                      ^
+prog.cob:12:29: error: X does not name a group
+   12 |            MOVE CORR G-1 TO X.
+      |                             ^
+prog.cob:13:12: warning: G-1 and G-2 have no corresponding fields
+   13 |            MOVE CORR G-1(1:1) TO G-2.
+      |            ^
+prog.cob:14:12: warning: G-1 and G-2 have no corresponding fields
+   14 |            MOVE CORR G-1 TO G-2(1:1).
+      |            ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
 
-
 AT_SETUP([MOVE SPACE TO numeric should be a syntax error])
 AT_KEYWORDS([move editing])
 AT_DATA([prog.cob], [
@@ -896,16 +1096,14 @@ AT_DATA([prog.cob], [
            MOVE SPACE TO Y.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:9: error: cannot MOVE SPACE to numeric receiving field X
+[prog.cob:9:17: error: cannot MOVE SPACE to numeric receiving field X
+    9 |            MOVE SPACE TO X.
+      |                 ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
-
-
 ### ISO+IEC+1989-2002 14.8.24 MOVE statement
 
 ## 14.8.24.2 Syntax rules
@@ -926,7 +1124,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [0], [],
-[prog.cob:11: warning: G-1 and G-2 have no corresponding fields
+[prog.cob:11:12: warning: G-1 and G-2 have no corresponding fields
+   11 |            MOVE CORR G-1 TO G-2.
+      |            ^
 ])
 AT_CLEANUP
 
@@ -1030,19 +1230,25 @@ AT_DATA([prog.cob], [
            MOVE 'E' TO DEFINED-CONST.
            STOP RUN.
 ])
-
-
 AT_CHECK([$COMPILE_ONLY -dialect mf prog.cob], [1], [],
-[prog.cob:15: error: symbol 'MAIN' not found
-prog.cob:15: error: invalid receiving operand
-prog.cob:16: error: symbol 'repo-prog' not found
-prog.cob:16: error: invalid receiving operand
-prog.cob:17: syntax error at 'QUOTE'
-prog.cob:17: error: invalid receiving operand at 'QUOTE'
-prog.cob:18: error: DEFINED-CONST is a constant
+[prog.cob:15:24: error: DATA-ITEM 'MAIN' not found
+   15 |            MOVE 'B' TO MAIN.
+      |                        ^
+prog.cob:15:24: error: invalid receiving operand
+prog.cob:16:24: error: DATA-ITEM 'repo-prog' not found
+   16 |            MOVE 'C' TO repo-prog.
+      |                        ^
+prog.cob:16:24: error: invalid receiving operand
+prog.cob:17:24: error: syntax error, unexpected QUOTES
+   17 |            MOVE 'D' TO QUOTE.
+      |                        ^
+prog.cob:17:24: error: invalid receiving operand
+prog.cob:18:24: error: DEFINED-CONST is a constant
+   18 |            MOVE 'E' TO DEFINED-CONST.
+      |                        ^
 cobol1: error: failed compiling prog.cob
-], [echo "test fails on repository program statement. rest of test not performed."])
-
+],
+[])
 AT_CLEANUP
 
 
@@ -1068,7 +1274,9 @@ AT_DATA([prog.cob], [       IDENTIFICATION   DIVISION.
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:6: error: 'repo-prog' does not name an earlier program
+[prog.cob:6:29: error: 'repo-prog' does not name an earlier program
+    6 |            PROGRAM repo-prog.
+      |                             ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -1097,11 +1305,14 @@ AT_DATA([prog.cob], [
 ])
 
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:15: error: float-var is a pointer at 'set'
-prog.cob:17: error: no-pointer is not a pointer at 'set'
+[prog.cob:9:11: error: float-var is a pointer
+    9 |        01 float-var usage float-long.
+      |           ^
+prog.cob:6:11: error: no-pointer is not a pointer
+    6 |        01 no-pointer    pic s9(9) comp.
+      |           ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 
@@ -1135,20 +1346,43 @@ AT_DATA([prog.cob], [
            MOVE ALL '21' TO BIGFLT.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:11: error: cannot MOVE SPACE to numeric receiving field MYFLD
-prog.cob:12: error: cannot MOVE LOW_VALUES to numeric receiving field MYFLD
-prog.cob:13: error: cannot MOVE HIGH_VALUES to numeric receiving field MYFLD
-prog.cob:14: error: cannot MOVE QUOTES to numeric receiving field MYFLD
-prog.cob:15: cannot MOVE '*' (FldLiteralA) to 'MYFLD' (FldNumericDisplay)
-prog.cob:17: cannot MOVE 'A1' (FldLiteralA) to 'MYFLD' (FldNumericDisplay)
-prog.cob:19: syntax error: invalid value for SET TO at 'HIGH-VALUES'
-prog.cob:20: syntax error: invalid value for SET TO at 'SPACES'
-prog.cob:21: error: cannot MOVE HIGH_VALUES to numeric receiving field MYFLD
-prog.cob:23: error: cannot MOVE HIGH_VALUES to numeric receiving field BIGFLT
-prog.cob:24: error: cannot MOVE QUOTES to numeric receiving field BIGFLT
-prog.cob:25: cannot MOVE '*' (FldLiteralA) to 'BIGFLT' (FldFloat)
+[prog.cob:11:17: error: cannot MOVE SPACE to numeric receiving field MYFLD
+   11 |            MOVE SPACES TO MYFLD.
+      |                 ^
+prog.cob:12:17: error: cannot MOVE LOW_VALUES to numeric receiving field MYFLD
+   12 |            MOVE LOW-VALUES TO MYFLD.
+      |                 ^
+prog.cob:13:17: error: cannot MOVE HIGH_VALUES to numeric receiving field MYFLD
+   13 |            MOVE HIGH-VALUES TO MYFLD.
+      |                 ^
+prog.cob:14:17: error: cannot MOVE QUOTES to numeric receiving field MYFLD
+   14 |            MOVE QUOTE TO MYFLD.
+      |                 ^
+prog.cob:15:33: error: cannot MOVE '*' (FldLiteralA) to 'MYFLD' (FldNumericDisplay)
+   15 |            MOVE ALL '*' TO MYFLD.
+      |                                 ^
+prog.cob:17:34: error: cannot MOVE 'A1' (FldLiteralA) to 'MYFLD' (FldNumericDisplay)
+   17 |            MOVE ALL 'A1' TO MYFLD.
+      |                                  ^
+prog.cob:19:16: error: invalid value for SET TO
+   19 |            SET MYFLD TO HIGH-VALUES.
+      |                ^
+prog.cob:20:16: error: invalid value for SET TO
+   20 |            SET MYFLD TO SPACES.
+      |                ^
+prog.cob:21:17: error: cannot MOVE HIGH_VALUES to numeric receiving field MYFLD
+   21 |            MOVE HIGH-VALUES TO MYFLD (1:).
+      |                 ^
+prog.cob:23:17: error: cannot MOVE HIGH_VALUES to numeric receiving field BIGFLT
+   23 |            MOVE HIGH-VALUES TO BIGFLT.
+      |                 ^
+prog.cob:24:17: error: cannot MOVE QUOTES to numeric receiving field BIGFLT
+   24 |            MOVE QUOTE TO BIGFLT.
+      |                 ^
+prog.cob:25:34: error: cannot MOVE '*' (FldLiteralA) to 'BIGFLT' (FldFloat)
+   25 |            MOVE ALL '*' TO BIGFLT.
+      |                                  ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/syn_redefines.at b/gcc/cobol/UAT/testsuite.src/syn_redefines.at
index 73bf04dc4a7b..bd5aeb4c8157 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_redefines.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_redefines.at
@@ -27,7 +27,6 @@
 
 AT_SETUP([REDEFINES: not following entry-name])
 AT_KEYWORDS([redefines])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -36,13 +35,12 @@ AT_DATA([prog.cob], [
        01 X             PIC X.
        01 Y             PIC 9 REDEFINES X.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:7: REDEFINES must appear immediately after LEVEL and NAME at 'X'
-:8: 1 errors in DATA DIVISION, compilation ceases detected at end of file
+[prog.cob:7:31: error: REDEFINES must appear immediately after LEVEL and NAME
+    7 |        01 Y             PIC 9 REDEFINES X.
+      |                               ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 AT_SETUP([REDEFINES: within REDEFINES])
@@ -67,8 +65,6 @@ AT_CLEANUP
 
 AT_SETUP([REDEFINES: level 02 by 01])
 AT_KEYWORDS([redefines])
-# Will error on gcobol error message being different
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -80,21 +76,20 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:8: error: cannot redefine 02 X as 01 Y because they have different levels at 'X'
-prog.cob:8: error: cannot redefine 02 X as 01 Y because they have different levels at 'X'
-prog.cob:8: error: Y invalid REDEFINES at 'X'
-prog.cob:9: 3 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:8:35: error: cannot redefine 02 X as 01 Y because they have different levels
+    8 |        01 Y             REDEFINES X PIC 9.
+      |                                   ^
+prog.cob:8:25: error: cannot redefine 02 X as 01 Y because they have different levels
+    8 |        01 Y             REDEFINES X PIC 9.
+      |                         ^
+prog.cob:8:25: error: Y invalid REDEFINES
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 AT_SETUP([REDEFINES: level 03 by 02])
 AT_KEYWORDS([redefines])
-# Will error on gcobol error message being different
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -107,19 +102,19 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:9: error: cannot redefine 03 X as 02 Y because they have different levels at 'X'
-prog.cob:9: error: cannot redefine 03 X as 02 Y because they have different levels at 'X'
-prog.cob:10: 2 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:9:35: error: cannot redefine 03 X as 02 Y because they have different levels
+    9 |          02 Y           REDEFINES X PIC 9.
+      |                                   ^
+prog.cob:9:25: error: cannot redefine 03 X as 02 Y because they have different levels
+    9 |          02 Y           REDEFINES X PIC 9.
+      |                         ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 AT_SETUP([REDEFINES: lower level number])
 AT_KEYWORDS([redefines])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -133,13 +128,12 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:10: error: 02 G3 on line 9 lies between X and A at 'X'
-prog.cob:11: 1 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:10:25: error: 02 G3 on line 9 lies between X and A
+   10 |            03 A         REDEFINES X PIC 9.
+      |                         ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 
@@ -147,7 +141,6 @@ AT_CLEANUP
 
 AT_SETUP([REDEFINES: with OCCURS])
 AT_KEYWORDS([redefines])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -159,18 +152,16 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:8: error: cannot redefine table 02 X at 'X'
-prog.cob:9: 1 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:8:25: error: cannot redefine table 02 X
+    8 |          02 Y           REDEFINES X PIC XX.
+      |                         ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 AT_SETUP([REDEFINES: with variable occurrence])
 AT_KEYWORDS([redefines])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -191,20 +182,22 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:8: error: data item 02 Y cannot use REDEFINES and OCCURS DEPENDING ON
-prog.cob:16: error: redefined data item 02 X has OCCURS DEPENDING ON at 'X'
-prog.cob:18: error: line 11: REDEFINES field Y cannot be variable length at 'PROCEDURE        DIVISION'
-prog.cob:18: 3 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:8:71: error: data item 02 Y cannot use REDEFINES and OCCURS DEPENDING ON
+    8 |          02 Y           REDEFINES X PIC X OCCURS 1 TO 2 DEPENDING ON I.
+      |                                                                       ^
+prog.cob:16:25: error: redefined data item 02 X has OCCURS DEPENDING ON
+   16 |          02 Y           REDEFINES X PIC X.
+      |                         ^
+prog.cob:11:13: error: line 11: REDEFINES field Y cannot be variable length
+   11 |          02 Y           REDEFINES X.
+      |             ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 AT_SETUP([REDEFINES: multiple redefinition])
 AT_KEYWORDS([redefines])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -218,13 +211,12 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:10: error: C may not REDEFINE B, which redefines X at 'B'
-prog.cob:11: 1 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:10:35: error: C may not REDEFINE B, which redefines X
+   10 |          02 C           REDEFINES B PIC 9.
+      |                                   ^
 cobol1: error: failed compiling prog.cob
 ])
-
 AT_CLEANUP
 
 
@@ -232,7 +224,6 @@ AT_CLEANUP
 
 AT_SETUP([REDEFINES: size exceeds])
 AT_KEYWORDS([redefines])
-
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -251,12 +242,15 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:9: error: A (NumericDisplay size 2) larger than REDEFINES X (Alphanumeric size 1)
-prog.cob:11: error: A (NumericDisplay size 2) larger than REDEFINES X (Alphanumeric size 1)
-prog.cob:16: error: EXT-X-REDEF (NumericDisplay size 2) larger than REDEFINES EXT-X (Alphanumeric size 1)
-prog.cob:16: 3 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], [prog.cob:9:43: error: A (NumericDisplay size 2) larger than REDEFINES X (Alphanumeric size 1)
+    9 |        01 G2.
+      |                                           ^
+prog.cob:11:51: error: A (NumericDisplay size 2) larger than REDEFINES X (Alphanumeric size 1)
+   11 |          02 A           REDEFINES X PIC 9 OCCURS 2.
+      |                                                   ^
+prog.cob:16:47: error: EXT-X-REDEF (NumericDisplay size 2) larger than REDEFINES EXT-X (Alphanumeric size 1)
+   16 |        PROCEDURE        DIVISION.
+      |                                               ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -282,9 +276,12 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:8: error: cannot redefine 01 X as 01 A because 01 Y intervenes at 'X'
-prog.cob:12: error: cannot redefine 02 G-X as 02 G-A because 02 G-Y intervenes at 'G-X'
-prog.cob:13: 2 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:8:35: error: cannot redefine 01 X as 01 A because 01 Y intervenes
+    8 |        01 A             REDEFINES X PIC X.
+      |                                   ^
+prog.cob:12:35: error: cannot redefine 02 G-X as 02 G-A because 02 G-Y intervenes
+   12 |          02 G-A         REDEFINES G-X PIC X.
+      |                                   ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/syn_refmod.at b/gcc/cobol/UAT/testsuite.src/syn_refmod.at
index 6ead81c3edc9..99caaca1b778 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_refmod.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_refmod.at
@@ -80,34 +80,33 @@ AT_DATA([prog.cob], [
            END-DISPLAY.
            STOP RUN.
 ])
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:9:21: error: X(0) out of bounds, size is 4
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],[prog.cob:9:21: error: X(0) out of bounds, size is 4
     9 |            DISPLAY X(0:1)
       |                     ^
 prog.cob:11:21: error: X(0) out of bounds, size is 4
    11 |            DISPLAY X(0:Y)
       |                     ^
-prog.cob:12:21: error: X(5) out of bounds, size is 4
-   12 |            END-DISPLAY.
+prog.cob:13:21: error: X(5) out of bounds, size is 4
+   13 |            DISPLAY X(5:1)
       |                     ^
 prog.cob:15:21: error: X(5) out of bounds, size is 4
    15 |            DISPLAY X(5:Y)
       |                     ^
-prog.cob:17:21: error: X(1:0) out of bounds, size is 4
-   17 |            DISPLAY X(1:0)
-      |                     ^
+prog.cob:6:11: error: X(1:0) out of bounds, size is 4
+    6 |        01 X             PIC X(4).
+      |           ^
 prog.cob:19:21: error: X(Y:0) out of bounds, size is 4
    19 |            DISPLAY X(Y:0)
       |                     ^
-prog.cob:21:21: error: X(1:5) out of bounds, size is 4
-   21 |            DISPLAY X(1:5)
-      |                     ^
+prog.cob:6:11: error: X(1:5) out of bounds, size is 4
+    6 |        01 X             PIC X(4).
+      |           ^
 prog.cob:23:21: error: X(Y:5) out of bounds, size is 4
    23 |            DISPLAY X(Y:5)
       |                     ^
-prog.cob:24:21: error: X(3:3) out of bounds, size is 4
-   24 |            END-DISPLAY.
-      |                     ^
+prog.cob:6:11: error: X(3:3) out of bounds, size is 4
+    6 |        01 X             PIC X(4).
+      |           ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/syn_subscripts.at b/gcc/cobol/UAT/testsuite.src/syn_subscripts.at
index d4e33bf025f5..c128c6813f09 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_subscripts.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_subscripts.at
@@ -37,8 +37,12 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:11: error: X(0): subscript 1 out of range for 02 X OCCURS 4 to 6 at 'DISPLAY'
-prog.cob:12: error: X(7): subscript 1 out of range for 02 X OCCURS 4 to 6 at 'STOP'
+[prog.cob:10:21: error: X(0): subscript 1 out of range for 02 X OCCURS 4 to 6
+   10 |            DISPLAY X(0)
+      |                     ^
+prog.cob:11:21: error: X(7): subscript 1 out of range for 02 X OCCURS 4 to 6
+   11 |            DISPLAY X(7)
+      |                     ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -62,12 +66,12 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:9:21: error: 1 subscripts provided for G, which has no dimensions
+[prog.cob:9:20: error: 1 subscripts provided for G, which has no dimensions
     9 |            DISPLAY G(1)
-      |                     ^
-prog.cob:11:21: error: 1 subscripts provided for X, which has no dimensions
+      |                    ^
+prog.cob:11:20: error: 1 subscripts provided for X, which has no dimensions
    11 |            DISPLAY X(1)
-      |                     ^
+      |                    ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/syn_value.at b/gcc/cobol/UAT/testsuite.src/syn_value.at
index ad5c019bf74a..1605c015fa6a 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_value.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_value.at
@@ -82,8 +82,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], ,
-[prog.cob:7: error: X-9N is unsigned but has signed VALUE '-1'
-prog.cob:10: 1 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:7:8: error: X-9N is unsigned but has signed VALUE '-1'
+    7 |        01 X-9N          PIC 9  VALUE -1.
+      |        ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -109,18 +110,22 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], ,
-[prog.cob:7: error: numeric type X-SPACE VALUE 'SPACES' requires numeric VALUE
-prog.cob:9: error: numeric type X-ABC VALUE 'abc' requires numeric VALUE
-prog.cob:10: error: integer type X-12-3 VALUE '12.3' requires integer VALUE
-prog.cob:13: error: numeric X-1234 VALUE '1234' holds only 3 digits
-prog.cob:14: 4 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:7:44: error: numeric type X-SPACE VALUE 'SPACES' requires numeric VALUE
+    7 |        01 X-SPACE       PIC 999 VALUE SPACE.
+      |                                            ^
+prog.cob:9:44: error: numeric type X-ABC VALUE 'abc' requires numeric VALUE
+    9 |        01 X-ABC         PIC 999 VALUE "abc".
+      |                                            ^
+prog.cob:10:43: error: integer type X-12-3 VALUE '12.3' requires integer VALUE
+   10 |        01 X-12-3        PIC 999 VALUE 12.3.
+      |                                           ^
+prog.cob:13:43: error: numeric X-1234 VALUE '1234' holds only 3 digits
+   13 |        01 X-1234        PIC 999 VALUE 1234.
+      |                                           ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
 
-
-# 4) DONE
-
 AT_SETUP([Alphabetic item])
 AT_KEYWORDS([value size])
 AT_DATA([prog.cob], [
@@ -137,10 +142,15 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], ,
-[prog.cob:6: error: alpha-only X-123 VALUE '123' contains non-alphabetic data
-prog.cob:7: error: alpha-only X-ZERO VALUE 'ZEROS' contains non-alphabetic data
-prog.cob:8: error: alpha-only X-AB1 VALUE 'ab1' contains non-alphabetic data
-prog.cob:11: 3 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
+[prog.cob:6:42: error: alpha-only X-123 VALUE '123' contains non-alphabetic data
+    6 |        01 X-123         PIC AAA VALUE 123.
+      |                                          ^
+prog.cob:7:43: error: alpha-only X-ZERO VALUE 'ZEROS' contains non-alphabetic data
+    7 |        01 X-ZERO        PIC AAA VALUE ZERO.
+      |                                           ^
+prog.cob:8:44: error: alpha-only X-AB1 VALUE 'ab1' contains non-alphabetic data
+    8 |        01 X-AB1         PIC AAA VALUE "ab1".
+      |                                            ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
-- 
GitLab