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