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