From bb38075da3a51949bb4d7eb0d35aedcfcf6e446e Mon Sep 17 00:00:00 2001
From: "James K. Lowden" <jklowden@symas.com>
Date: Sat, 25 Jan 2025 19:16:06 -0500
Subject: [PATCH] updated UAT tests, 2 fail

---
 gcc/cobol/UAT/testsuite.src/syn_definition.at |   4 +-
 gcc/cobol/UAT/testsuite.src/syn_file.at       |  44 +-
 gcc/cobol/UAT/testsuite.src/syn_misc.at       |   2 +-
 gcc/cobol/UAT/testsuite.src/syn_move.at       | 408 +++++++++---------
 gcc/cobol/UAT/testsuite.src/syn_redefines.at  |  44 +-
 gcc/cobol/UAT/testsuite.src/syn_refmod.at     |  12 +-
 gcc/cobol/UAT/testsuite.src/syn_value.at      |  28 +-
 gcc/cobol/parse.y                             |  27 +-
 gcc/cobol/parse_ante.h                        |  16 +-
 gcc/cobol/symbols.cc                          |   4 +-
 gcc/cobol/symbols.h                           |  12 +-
 11 files changed, 298 insertions(+), 303 deletions(-)

diff --git a/gcc/cobol/UAT/testsuite.src/syn_definition.at b/gcc/cobol/UAT/testsuite.src/syn_definition.at
index d04a897d0186..e73e5950aad3 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_definition.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_definition.at
@@ -839,9 +839,9 @@ AT_DATA([prog.cob], [
                     'g' also 'G', '1' thru '9', x'00'.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:9:27: error: ALPHABET , character 'A' (X'41') in position 32 already defined at position 0
+[prog.cob:9:20: error: ALPHABET , character 'A' (X'41') in position 32 already defined at position 0
     9 |                     x'41' ALSO x'42', ALSO x'00', x'C1' ALSO x'C2'.
-      |                           ^
+      |                    ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/syn_file.at b/gcc/cobol/UAT/testsuite.src/syn_file.at
index ab865b15d435..0f5a47eaf0ff 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_file.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_file.at
@@ -116,9 +116,9 @@ AT_DATA([prog.cob], [
 ])
 
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:10:8: error: file name not found
+[prog.cob:10:12: error: file name not found
    10 |        FD  file1.
-      |        ^
+      |            ^
 prog.cob:7:19: error: line 7: file2 lacks a file description
     7 |            SELECT file2 ASSIGN DISK.
       |                   ^
@@ -213,9 +213,9 @@ AT_DATA([prog.cob], [
 ])
 
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:15:8: error: FD file1 previously defined on line 7
+[prog.cob:15:12: error: FD file1 previously defined on line 7
    15 |        FD  file1.
-      |        ^
+      |            ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -345,21 +345,21 @@ AT_DATA([prog.cob], [
 
 # FIXME: "is not defined" should be changed in "is not defined in file ..."
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:39:12: error: line 12: TEST-P2 of TEST-SOME is not defined in file description
+[prog.cob:39:8: error: line 12: TEST-P2 of TEST-SOME is not defined in file description
    39 |        77  TEST-P2   PIC S9(4) COMP.
-      |            ^
-prog.cob:32:15: error: line 12: TEST-P1 of TEST-SOME is not defined in file description
+      |        ^
+prog.cob:32:12: error: line 12: TEST-P1 of TEST-SOME is not defined in file description
    32 |            05 TEST-P1   PIC X(4).
-      |               ^
-prog.cob:40:12: error: line 12: TEST-P3 of TEST-SOME is not defined in file description
-   40 |        77  TEST-P3   PIC S9(5) COMP-3.
       |            ^
+prog.cob:40:8: error: line 12: TEST-P3 of TEST-SOME is not defined in file description
+   40 |        77  TEST-P3   PIC S9(5) COMP-3.
+      |        ^
 prog.cob:18:42: error: line 19: NOT-THERE of TEST-FILE is not defined
    18 |                         ALTERNATE KEY IS NOT-THERE
       |                                          ^
-prog.cob:29:12: error: line 19: SOME-REC of TEST-FILE is not defined in file description
+prog.cob:29:8: error: line 19: SOME-REC of TEST-FILE is not defined in file description
    29 |        01  SOME-REC  PIC X(20).
-      |            ^
+      |        ^
 prog.cob:18:42: error: line 19: NOT-THERE of TEST-FILE is not defined
    18 |                         ALTERNATE KEY IS NOT-THERE
       |                                          ^
@@ -454,21 +454,21 @@ AT_DATA([prog.cob], [
 ])
 
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:37:12: error: line 9: RELATIVE file FILE1 key FILE1-KEY must be integer type
+[prog.cob:37:8: error: line 9: RELATIVE file FILE1 key FILE1-KEY must be integer type
    37 |        77  FILE1-KEY PIC XXXX.
-      |            ^
-prog.cob:38:12: error: line 12: RELATIVE file FILE2 key FILE2-KEY must be integer type
+      |        ^
+prog.cob:38:8: error: line 12: RELATIVE file FILE2 key FILE2-KEY must be integer type
    38 |        01  FILE2-KEY.
-      |            ^
-prog.cob:41:16: error: line 15: RELATIVE file FILE3 key FILE3-KEY cannot have OCCURS clause
+      |        ^
+prog.cob:41:12: error: line 15: RELATIVE file FILE3 key FILE3-KEY cannot have OCCURS clause
    41 |            05  FILE3-KEY PIC 9(5) OCCURS 2 TIMES.
-      |                ^
-prog.cob:33:15: error: line 18: RELATIVE file FILE4 key FILE4-KEY is defined in file description
+      |            ^
+prog.cob:33:11: error: line 18: RELATIVE file FILE4 key FILE4-KEY is defined in file description
    33 |           05  FILE4-KEY PIC 999.
-      |               ^
-prog.cob:42:12: error: line 21: RELATIVE file FILE5 key FILE5-KEY must be integer type
+      |           ^
+prog.cob:42:8: error: line 21: RELATIVE file FILE5 key FILE5-KEY must be integer type
    42 |        77  FILE5-KEY PIC 999V9.
-      |            ^
+      |        ^
 cobol1: error: failed compiling prog.cob
 ])
 
diff --git a/gcc/cobol/UAT/testsuite.src/syn_misc.at b/gcc/cobol/UAT/testsuite.src/syn_misc.at
index 4bdea7083fa0..660fe3cc72ce 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_misc.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_misc.at
@@ -826,7 +826,7 @@ AT_DATA([prog.cob], [
            CONTINUE
            .
 ])
-AT_CHECK([$COMPILE_ONLY -D X prog.cob], [1], [], [prog.cob:5:14: error: CDF syntax error: no such variable 'BANANA'
+AT_CHECK([$COMPILE_ONLY -D X prog.cob], [1], [], [prog.cob:5:14: error: CDF error: no such variable 'BANANA'
     5 |        >> IF BANANA
       |              ^
 No BANANA here.
diff --git a/gcc/cobol/UAT/testsuite.src/syn_move.at b/gcc/cobol/UAT/testsuite.src/syn_move.at
index f8c93abba02a..bc7cdf00cc6d 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_move.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_move.at
@@ -316,150 +316,150 @@ AT_DATA([prog.cob], [
         MOVE X16 TO Y16.
         STOP RUN.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:66:23: error: cannot MOVE 'X2' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:66:14: 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)
+      |              ^
+prog.cob:82:14: 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)
+      |              ^
+prog.cob:83:14: 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)
+      |              ^
+prog.cob:84:14: 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)
+      |              ^
+prog.cob:98:14: 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)
+      |              ^
+prog.cob:99:14: 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)
+      |              ^
+prog.cob:100:14: 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)
+      |              ^
+prog.cob:114:14: 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)
+      |              ^
+prog.cob:115:14: 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)
+      |              ^
+prog.cob:116:14: 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)
+      |              ^
+prog.cob:130:14: 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)
+      |              ^
+prog.cob:146:14: 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)
+      |              ^
+prog.cob:147:14: 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)
+      |              ^
+prog.cob:148:14: 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)
+      |              ^
+prog.cob:162:14: 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)
+      |              ^
+prog.cob:178:14: 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)
+      |              ^
+prog.cob:179:14: 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)
+      |              ^
+prog.cob:180:14: 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)
+      |              ^
+prog.cob:194:14: 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)
+      |              ^
+prog.cob:210:14: 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)
+      |              ^
+prog.cob:211:14: 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)
+      |              ^
+prog.cob:212:14: 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)
+      |              ^
+prog.cob:216:14: 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)
+      |              ^
+prog.cob:217:14: 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)
+      |              ^
+prog.cob:218:14: 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)
+      |              ^
+prog.cob:219:14: 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)
+      |              ^
+prog.cob:220:14: 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)
+      |              ^
+prog.cob:221:14: 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)
+      |              ^
+prog.cob:222:14: 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)
+      |              ^
+prog.cob:223:14: 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)
+      |              ^
+prog.cob:224:14: 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)
+      |              ^
+prog.cob:225:14: 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)
+      |              ^
+prog.cob:229:14: 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)
+      |              ^
+prog.cob:230:14: 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)
+      |              ^
+prog.cob:248:14: 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)
+      |              ^
+prog.cob:249:14: 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)
+      |              ^
+prog.cob:250:14: 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)
+      |              ^
+prog.cob:251:14: 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)
+      |              ^
+prog.cob:252:14: 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)
+      |              ^
+prog.cob:253:14: 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)
+      |              ^
+prog.cob:254:14: 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)
+      |              ^
+prog.cob:255:14: 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)
+      |              ^
+prog.cob:256:14: 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)
+      |              ^
+prog.cob:257:14: 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)
+      |              ^
+prog.cob:261:14: 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)
+      |              ^
+prog.cob:262:14: 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)
+      |              ^
+prog.cob:274:14: 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)
+      |              ^
+prog.cob:290:14: error: cannot MOVE 'X16' (FldNumericEdited) to 'Y12' (FldAlphabetic)
   290 |         MOVE X16 TO Y12.
-      |                        ^
+      |              ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -761,126 +761,126 @@ AT_DATA([prog.cob], [        IDENTIFICATION   DIVISION.
         MOVE X16 TO Y16.
         STOP RUN.
 ])
-AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:65:23: error: cannot MOVE 'X2' (FldNumericDisplay) to 'Y12' (FldAlphabetic)
+AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:65:14: 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)
+      |              ^
+prog.cob:81:14: 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)
+      |              ^
+prog.cob:97:14: 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)
+      |              ^
+prog.cob:98:14: 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)
+      |              ^
+prog.cob:99:14: 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)
+      |              ^
+prog.cob:113:14: 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)
+      |              ^
+prog.cob:114:14: 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)
+      |              ^
+prog.cob:115:14: 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)
+      |              ^
+prog.cob:129:14: 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)
+      |              ^
+prog.cob:145:14: 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)
+      |              ^
+prog.cob:161:14: 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)
+      |              ^
+prog.cob:177:14: 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)
+      |              ^
+prog.cob:193:14: 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)
+      |              ^
+prog.cob:209:14: 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)
+      |              ^
+prog.cob:215:14: 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)
+      |              ^
+prog.cob:216:14: 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)
+      |              ^
+prog.cob:217:14: 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)
+      |              ^
+prog.cob:218:14: 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)
+      |              ^
+prog.cob:219:14: 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)
+      |              ^
+prog.cob:220:14: 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)
+      |              ^
+prog.cob:221:14: 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)
+      |              ^
+prog.cob:222:14: 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)
+      |              ^
+prog.cob:223:14: 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)
+      |              ^
+prog.cob:224:14: 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)
+      |              ^
+prog.cob:228:14: 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)
+      |              ^
+prog.cob:229:14: 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)
+      |              ^
+prog.cob:247:14: 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)
+      |              ^
+prog.cob:248:14: 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)
+      |              ^
+prog.cob:249:14: 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)
+      |              ^
+prog.cob:250:14: 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)
+      |              ^
+prog.cob:251:14: 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)
+      |              ^
+prog.cob:252:14: 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)
+      |              ^
+prog.cob:253:14: 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)
+      |              ^
+prog.cob:254:14: 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)
+      |              ^
+prog.cob:255:14: 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)
+      |              ^
+prog.cob:256:14: 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)
+      |              ^
+prog.cob:260:14: 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)
+      |              ^
+prog.cob:261:14: 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)
+      |              ^
+prog.cob:273:14: 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)
+      |              ^
+prog.cob:289:14: error: cannot MOVE 'X16' (FldNumericEdited) to 'Y12' (FldAlphabetic)
   289 |         MOVE X16 TO Y12.
-      |                        ^
+      |              ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -907,12 +907,12 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE prog.cob], [1], [],
-[prog.cob:16:25: error: cannot MOVE 'X' (FldAlphabetic) to 'Y-9' (FldNumericDisplay)
+[prog.cob:16:17: 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)
+      |                 ^
+prog.cob:17:17: error: cannot MOVE 'X' (FldAlphabetic) to 'Y-09' (FldNumericEdited)
    17 |            MOVE X TO Y-09.
-      |                          ^
+      |                 ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -940,12 +940,12 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:16:25: error: cannot MOVE 'X' (FldAlphaEdited) to 'Y-9' (FldNumericDisplay)
+[prog.cob:16:17: 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)
+      |                 ^
+prog.cob:17:17: error: cannot MOVE 'X' (FldAlphaEdited) to 'Y-09' (FldNumericEdited)
    17 |            MOVE X TO Y-09.
-      |                          ^
+      |                 ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -973,9 +973,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:13:25: error: cannot MOVE 'X' (FldNumericDisplay) to 'Y-A' (FldAlphabetic)
+[prog.cob:13:17: error: cannot MOVE 'X' (FldNumericDisplay) to 'Y-A' (FldAlphabetic)
    13 |            MOVE X TO Y-A.
-      |                         ^
+      |                 ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -1003,15 +1003,15 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:13:25: error: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-A' (FldAlphabetic)
+[prog.cob:13:17: 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)
+      |                 ^
+prog.cob:14:17: 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)
+      |                 ^
+prog.cob:15:17: error: cannot MOVE 'X' (FldNumericDisplay.1) to 'Y-BX' (FldAlphaEdited)
    15 |            MOVE X TO Y-BX.
-      |                          ^
+      |                 ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -1039,9 +1039,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:13:25: error: cannot MOVE 'X' (FldNumericEdited) to 'Y-A' (FldAlphabetic)
+[prog.cob:13:17: error: cannot MOVE 'X' (FldNumericEdited) to 'Y-A' (FldAlphabetic)
    13 |            MOVE X TO Y-A.
-      |                         ^
+      |                 ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -1305,12 +1305,12 @@ AT_DATA([prog.cob], [
 ])
 
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:9:11: error: float-var is a pointer
+[prog.cob:9:8: error: float-var is a pointer
     9 |        01 float-var usage float-long.
-      |           ^
-prog.cob:6:11: error: no-pointer is not a pointer
+      |        ^
+prog.cob:6:8: error: no-pointer is not a pointer
     6 |        01 no-pointer    pic s9(9) comp.
-      |           ^
+      |        ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -1359,12 +1359,8 @@ prog.cob:13:17: error: cannot MOVE HIGH_VALUES to numeric receiving field 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: error: cannot MOVE '*' (FldLiteralA) to 'MYFLD' (FldNumericDisplay)
+prog.cob: error: cannot MOVE 'A1' (FldLiteralA) to 'MYFLD' (FldNumericDisplay)
 prog.cob:19:16: error: invalid value for SET TO
    19 |            SET MYFLD TO HIGH-VALUES.
       |                ^
@@ -1380,9 +1376,7 @@ prog.cob:23:17: error: cannot MOVE HIGH_VALUES to numeric receiving field 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.
-      |                                  ^
+prog.cob: error: cannot MOVE '*' (FldLiteralA) to 'BIGFLT' (FldFloat)
 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 bd5aeb4c8157..9eb19888b920 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_redefines.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_redefines.at
@@ -80,10 +80,10 @@ AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
 [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
+prog.cob:8:35: error: cannot redefine 02 X as 01 Y because they have different levels
+prog.cob:8:25: error: Y invalid REDEFINES
     8 |        01 Y             REDEFINES X PIC 9.
       |                         ^
-prog.cob:8:25: error: Y invalid REDEFINES
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -106,9 +106,7 @@ AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
 [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.
-      |                         ^
+prog.cob:9:35: error: cannot redefine 03 X as 02 Y because they have different levels
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -129,9 +127,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:10:25: error: 02 G3 on line 9 lies between X and A
+[prog.cob:10:35: 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
@@ -153,9 +151,9 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:8:25: error: cannot redefine table 02 X
+[prog.cob:8:35: error: cannot redefine table 02 X
     8 |          02 Y           REDEFINES X PIC XX.
-      |                         ^
+      |                                   ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -183,15 +181,15 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:8:71: error: data item 02 Y cannot use REDEFINES and OCCURS DEPENDING ON
+[prog.cob:8:10: 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
+      |          ^
+prog.cob:16:35: 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
+      |                                   ^
+prog.cob:11:10: error: line 11: REDEFINES field Y cannot be variable length
    11 |          02 Y           REDEFINES X.
-      |             ^
+      |          ^
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
@@ -242,15 +240,15 @@ AT_DATA([prog.cob], [
        PROCEDURE        DIVISION.
            STOP RUN.
 ])
-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)
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], [prog.cob:8:10: error: A (NumericDisplay size 2) larger than REDEFINES X (Alphanumeric size 1)
+    8 |          02 A           REDEFINES X PIC 99.
+      |          ^
+prog.cob:11:10: 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.
-      |                                               ^
+      |          ^
+prog.cob:15:8: error: EXT-X-REDEF (NumericDisplay size 2) larger than REDEFINES EXT-X (Alphanumeric size 1)
+   15 |        01 EXT-X-REDEF   REDEFINES EXT-X PIC 99.
+      |        ^
 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 99caaca1b778..5b9b60a5654e 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_refmod.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_refmod.at
@@ -92,21 +92,21 @@ prog.cob:13:21: error: X(5) out of bounds, size is 4
 prog.cob:15:21: error: X(5) out of bounds, size is 4
    15 |            DISPLAY X(5:Y)
       |                     ^
-prog.cob:6:11: error: X(1:0) out of bounds, size is 4
+prog.cob:6:8: 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:6:11: error: X(1:5) out of bounds, size is 4
+prog.cob:6:8: 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:6:11: error: X(3:3) out of bounds, size is 4
+prog.cob:6:8: 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_value.at b/gcc/cobol/UAT/testsuite.src/syn_value.at
index 1605c015fa6a..d4765bb5cf09 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_value.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_value.at
@@ -110,18 +110,18 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], ,
-[prog.cob:7:44: error: numeric type X-SPACE VALUE 'SPACES' requires numeric VALUE
+[prog.cob:7:25: 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
+      |                         ^
+prog.cob:9:25: 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
+      |                         ^
+prog.cob:10:25: 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
+      |                         ^
+prog.cob:13:25: 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
@@ -142,15 +142,15 @@ AT_DATA([prog.cob], [
            STOP RUN.
 ])
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], ,
-[prog.cob:6:42: error: alpha-only X-123 VALUE '123' contains non-alphabetic data
+[prog.cob:6:25: 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
+      |                         ^
+prog.cob:7:25: 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
+      |                         ^
+prog.cob:8:25: 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
diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index 1e96f95fbd31..0adefd0256ec 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -2160,23 +2160,23 @@ alphabet_seqs:  alphabet_seq[seq]
                     error_msg(@1, "syntax error at ALSO");
                     YYERROR;
                   }
-                  $$->add_sequence($seq.low);
+                  $$->add_sequence(@seq, $seq.low);
                   size_t len = $seq.low == nul_string()? 1 : strlen((const char*)$seq.low);
                   assert(len > 0);
-                  $$->add_interval($seq.low[--len], $seq.high[0]);
-                  $$->add_sequence($seq.high);
+                  $$->add_interval(@seq, $seq.low[--len], $seq.high[0]);
+                  $$->add_sequence(@seq, $seq.high);
                 }
         |       alphabet_seqs alphabet_seq[seq]
                 {
                   // ALSO x'00' is valid, but in that case the low pointer is NULL
                   if( !$seq.low ) {
-                    $$->also($seq.also);
+                    $$->also(@seq, $seq.also);
                   } else {
-                    $$->add_sequence($seq.low);
+                    $$->add_sequence(@seq, $seq.low);
                     size_t len = $seq.low == nul_string()? 1 : strlen((const char*)$seq.low);
                     assert(len > 0);
-                    $$->add_interval($seq.low[--len], $seq.high[0]);
-                    $$->add_sequence($seq.high);
+                    $$->add_interval(@seq, $seq.low[--len], $seq.high[0]);
+                    $$->add_sequence(@seq, $seq.high);
                   }
                 }
                 ;
@@ -2897,7 +2897,7 @@ level_name:     LEVEL ctx_name
 		    { 0,0,0,0, NULL, NULL, { NULL }, { NULL } }, NULL };
                   if( !namcpy(@ctx_name, field.name, $2) ) YYERROR;
 
-                  $$ = field_add(@2, &field);
+                  $$ = field_add(@$, &field);
                   if( !$$ ) {
                     YYERROR;
                   }
@@ -3296,7 +3296,10 @@ data_descr1:    level_name
                   }
 
                   // Ensure signed initial VALUE is for signed numeric type
-                  if( is_numeric($field) && $field->data.initial && $field->type != FldFloat) {
+                  if( is_numeric($field) &&
+		      $field->data.initial &&
+		      $field->type != FldFloat )
+		  {
                     switch( $field->data.initial[0] ) {
                     case '-': 
                       if( !$field->has_attr(signable_e) ) {
@@ -3307,7 +3310,7 @@ data_descr1:    level_name
                   }
 
                   // Verify VALUE
-                  $field->report_invalid_initial_value(@field);
+                  $field->report_invalid_initial_value(@data_clauses);
 
                   // verify REDEFINES
                   auto parent = parent_of($field);
@@ -4339,7 +4342,7 @@ declaratives:   %empty
                 ;
 
 sentences:      sentence {
-		  ast_first_statement(@1.first_line);
+		  ast_first_statement(@1);
 		  symbol_temporaries_free();
 		}
 	|	section_name 
@@ -4356,7 +4359,7 @@ sentences:      sentence {
                 }
         |       sentences sentence
 		{ // sentences might not be sentence
-		  ast_first_statement(@2.first_line); 
+		  ast_first_statement(@2); 
 		  symbol_temporaries_free();
 		}
         |       sentences section_name
diff --git a/gcc/cobol/parse_ante.h b/gcc/cobol/parse_ante.h
index cf88a601a1ad..24762f9cf890 100644
--- a/gcc/cobol/parse_ante.h
+++ b/gcc/cobol/parse_ante.h
@@ -2002,16 +2002,16 @@ static class current_t {
     return programs.empty()? NULL : programs.top().paragraph;
   }
 
-  bool is_first_statement( int line )  {
+  bool is_first_statement( const YYLTYPE& loc )  {
     if( ! in_declaratives && first_statement == 0 ) {
       if( ! symbol_label_section_exists(program_index()) ) {
 	if( ! dialect_ibm() ) {
-	  dialect_error(yylloc,
-			"ISO programs with DECLARATIVES must begin with a SECTION",
-			"ibm");
+	  error_msg(loc,
+		    "Per ISO a program with DECLARATIVES must begin with a SECTION, "
+		    "requires -dialect ibm");
 	}
       }
-      first_statement = line;
+      first_statement = loc.first_line;
       return true;
     }
     return false;
@@ -3529,9 +3529,9 @@ static int prior_statement;
 
 static size_t statement_begin( const YYLTYPE& loc, int token );
 
-static void ast_first_statement( int first_line ) {
-  if( current.is_first_statement( first_line ) ) {
-    parser_first_statement(first_line);
+static void ast_first_statement( const YYLTYPE& loc ) {
+  if( current.is_first_statement( loc ) ) {
+    parser_first_statement(loc.first_line);
   }
 }
 
diff --git a/gcc/cobol/symbols.cc b/gcc/cobol/symbols.cc
index 9ea6ab5e9d4f..d180efa86bea 100644
--- a/gcc/cobol/symbols.cc
+++ b/gcc/cobol/symbols.cc
@@ -3303,7 +3303,7 @@ constant_of( size_t isym )
 }
 
 bool
-cbl_alphabet_t::assign( unsigned char ch, unsigned char high_value ) {
+cbl_alphabet_t::assign( const YYLTYPE& loc, unsigned char ch, unsigned char high_value ) {
   if( alphabet[ch] == 0xFF || alphabet[ch] == high_value) {
     alphabet[ch] = high_value;
     last_index = ch;
@@ -3320,7 +3320,7 @@ cbl_alphabet_t::assign( unsigned char ch, unsigned char high_value ) {
 }
 
 void
-cbl_alphabet_t::also( size_t ch ) {
+cbl_alphabet_t::also( const YYLTYPE& loc, size_t ch ) {
   if( ch < 256 ) {
     alphabet[ch] = alphabet[last_index];
     if( ch == high_index ) high_index--;
diff --git a/gcc/cobol/symbols.h b/gcc/cobol/symbols.h
index ca38db196010..f51d24cf8e21 100644
--- a/gcc/cobol/symbols.h
+++ b/gcc/cobol/symbols.h
@@ -1332,29 +1332,29 @@ struct cbl_alphabet_t {
   }
 
   void
-  add_sequence( const unsigned char seq[] ) {
+  add_sequence( const YYLTYPE& loc, const unsigned char seq[] ) {
     if( low_index == 0 ) low_index = seq[0];
 
     unsigned char high_value = last_index > 0? alphabet[last_index] + 1 : 0;
 
     for( const unsigned char *p = seq; !end_of_string(p); p++  ) {
-      assign(*p, high_value++);
+      assign(loc, *p, high_value++);
     }
   }
 
   void
-  add_interval( unsigned char low, unsigned char high ) {
+  add_interval( const YYLTYPE& loc, unsigned char low, unsigned char high ) {
     if( low_index == 0 ) low_index = low;
 
     unsigned char high_value = alphabet[last_index];
 
     for( unsigned char ch = low; ch < high; ch++  ) {
-      assign(ch, high_value++);
+      assign(loc, ch, high_value++);
     }
   }
 
-  void also( size_t ch );
-  bool assign( unsigned char ch, unsigned char value );
+  void also( const YYLTYPE& loc, size_t ch );
+  bool assign( const YYLTYPE& loc, unsigned char ch, unsigned char value );
 
   static const char *
   encoding_str( cbl_encoding_t encoding ) {
-- 
GitLab