diff --git a/gcc/cobol/UAT/testsuite.src/fundamental.at b/gcc/cobol/UAT/testsuite.src/fundamental.at index da67cdaf634888f5ef85f94a267702cec1935ed1..4d8bbcbd989202ec9015fddc38f697abecfea968 100644 --- a/gcc/cobol/UAT/testsuite.src/fundamental.at +++ b/gcc/cobol/UAT/testsuite.src/fundamental.at @@ -60,7 +60,7 @@ AT_DATA([prog.cob], [ 77 this-should-fail_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx PIC 9. PROCEDURE DIVISION. - DISPLAY "Gratuitous procedure division statement." + DISPLAY "Gratuitous procedure division statement.". END PROGRAM prog. ]) AT_CHECK([$COMPILE prog.cob], [1], [], [prog.cob:7: syntax error: name truncated to 'this-should-work_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' (max 63 characters) at 'this-should-work_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' diff --git a/gcc/cobol/UAT/testsuite.src/syn_misc.at b/gcc/cobol/UAT/testsuite.src/syn_misc.at index 0d52e21193483e0a7a8fcad0e04423a5ba6d08bd..7a8956d18495e1c46bbfaa2eebba67c04c0f2fe6 100644 --- a/gcc/cobol/UAT/testsuite.src/syn_misc.at +++ b/gcc/cobol/UAT/testsuite.src/syn_misc.at @@ -910,7 +910,7 @@ LINKAGE SECTION. PROCEDURE DIVISION USING var1 RETURNING var2. DISPLAY " I am COBOL routine_128_cobol". DISPLAY var1 - MOVE var1 TO var2 + MOVE var1 TO var2. END PROGRAM routine_c. ]) AT_CHECK([$COMPILE prog.cob], [1], [], @@ -919,6 +919,7 @@ 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' cobol1: error: failed compiling prog.cob ]) AT_CLEANUP diff --git a/gcc/cobol/UAT/testsuite.src/syn_move.at b/gcc/cobol/UAT/testsuite.src/syn_move.at index ac3ee79714872797dafeefe33d1fdb6dc201309f..b52b5db6df982ad717a531bd0031e5e6831e91f8 100644 --- a/gcc/cobol/UAT/testsuite.src/syn_move.at +++ b/gcc/cobol/UAT/testsuite.src/syn_move.at @@ -949,6 +949,8 @@ AT_DATA([prog.cob], [ AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], [prog.cob:8: error: line 6: 01 INVALID-ITEM requires PICTURE at 'PROCEDURE DIVISION' prog.cob:8: 1 errors in DATA DIVISION, compilation ceases at 'PROCEDURE DIVISION' +prog.cob:9: cannot MOVE '_literaln_1' (FldLiteralN) to 'INVALID-ITEM' (Fld) +prog.cob:10: error: cannot MOVE SPACE to numeric receiving field I cobol1: error: failed compiling prog.cob ]) diff --git a/gcc/cobol/symbols.cc b/gcc/cobol/symbols.cc index ba7bf0ef47e9362eac96f96fe7b09e2eb297c12d..c2a46c96b25393462ba0e03a51a735566c77d424 100644 --- a/gcc/cobol/symbols.cc +++ b/gcc/cobol/symbols.cc @@ -1994,32 +1994,6 @@ public: } }; -/* - * When a symbol is added, look for a forward reference, and copy the - * relevant bits. Normal searches don't look for forward declarations. - */ -static void -symbol_field_forward_set( size_t program, symbol_elem_t *elem ) -{ - size_t nelem = symbols.nelem; - cbl_field_t *field = cbl_field_of(elem); - - struct symbol_elem_t *e, key = { SymField, program, { .field = *field } }; - cbl_field_of(&key)->type = FldForward; - - e = static_cast<struct symbol_elem_t *>(lfind( &key, symbols.elems, - &nelem, sizeof(key), - symbol_elem_cmp ) ); - if( e ) { - auto f = cbl_field_of(e); - if( field->name == field->data.initial ) { - f->data.initial = f->name; - } - assert(field->var_decl_node == NULL); - field->var_decl_node = f->var_decl_node; - } -} - static symbol_elem_t add_token( symbol_elem_t sym ) { assert(sym.type == SymSpecial); @@ -2388,8 +2362,6 @@ symbol_field_add( size_t program, struct cbl_field_t *field ) *p = key; symbols.nelem++; - symbol_field_forward_set(program, p); - return p; }