From 1cf890fecb74f2b0d555a325ef69f76d430920ed Mon Sep 17 00:00:00 2001
From: "James K. Lowden" <jklowden@symas.com>
Date: Fri, 22 Dec 2023 14:54:10 -0500
Subject: [PATCH] remove BYTE_LENGTH_OF token, and fix some tests

---
 gcc/cobol/UAT/testsuite.src/run_misc.at |  1 -
 gcc/cobol/UAT/testsuite.src/syn_copy.at |  4 ----
 gcc/cobol/cdf.y                         | 26 ++++++++++++-------------
 gcc/cobol/parse.y                       |  6 +++---
 gcc/cobol/scan.l                        |  2 +-
 5 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/gcc/cobol/UAT/testsuite.src/run_misc.at b/gcc/cobol/UAT/testsuite.src/run_misc.at
index 8b01f5d16f34..b7c27567e425 100644
--- a/gcc/cobol/UAT/testsuite.src/run_misc.at
+++ b/gcc/cobol/UAT/testsuite.src/run_misc.at
@@ -3213,7 +3213,6 @@ AT_DATA([prog.cob], [
 ])
 AT_CHECK([$COMPILE prog.cob], [1], [],
 [prog.cob:18: error: literal 'SUB ' must be a COBOL or C identifier at '"'
-prog.cob:22: 1 errors in DATA DIVISION, compilation ceases at 'PROCEDURE DIVISION'
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/syn_copy.at b/gcc/cobol/UAT/testsuite.src/syn_copy.at
index 81b913fce99b..c43387d4580f 100644
--- a/gcc/cobol/UAT/testsuite.src/syn_copy.at
+++ b/gcc/cobol/UAT/testsuite.src/syn_copy.at
@@ -287,10 +287,6 @@ cobol1:     3    1 copy2.CPY
 cobol1:     2    1 copy3.CPY
 cobol1:     1    1 ./copy1.CPY
 copy1.CPY:1: recursive copybook: 'copy2.CPY' includes itself detected at end of file
-copy1.CPY:3: error: could not open copybook file for 'copy2'
-copy1.CPY:3: >>CDF parser failed
-copy1.CPY:3: syntax error
-.:9: 4 errors in DATA DIVISION, compilation ceases at 'PROCEDURE        DIVISION'
 cobol1: error: failed compiling prog.cob
 ])
 AT_CLEANUP
diff --git a/gcc/cobol/cdf.y b/gcc/cobol/cdf.y
index 9136afb0f1bd..77ea416303e7 100644
--- a/gcc/cobol/cdf.y
+++ b/gcc/cobol/cdf.y
@@ -262,12 +262,12 @@ apply_cdf_turn( exception_turns_t& turns ) {
 %token BY 470 
 %token COPY 358 
 %token CDF_DISPLAY 380 
-%token IN 584 
+%token IN 583 
 %token NAME 286 
 %token NUMSTR 304 
-%token OF 662 
-%token PSEUDOTEXT 698 
-%token REPLACING 720 
+%token OF 661 
+%token PSEUDOTEXT 697 
+%token REPLACING 719 
 %token LITERAL 297 
 %token SUPPRESS 375 
 
@@ -279,19 +279,19 @@ apply_cdf_turn( exception_turns_t& turns ) {
 
 %token AS 454  CONSTANT 357  DEFINED 359 
 %type	<boolean>	     DEFINED			
-%token OTHER 674  PARAMETER_kw 364  OFF 663  OVERRIDE 365 
-%token THRU 910 
-%token TRUE_kw 785 
+%token OTHER 673  PARAMETER_kw 364  OFF 662  OVERRIDE 365 
+%token THRU 909 
+%token TRUE_kw 784 
 
-%token TURN 787  CHECKING 479  LOCATION 626  ON 665  WITH 811 
+%token TURN 786  CHECKING 478  LOCATION 625  ON 664  WITH 810 
 
-%left OR 911 
-%left AND 912 
-%right NOT 913 
-%left '<'  '>'  '='  NE 914  LE 915  GE 916 
+%left OR 910 
+%left AND 911 
+%right NOT 912 
+%left '<'  '>'  '='  NE 913  LE 914  GE 915 
 %left '-'  '+' 
 %left '*'  '/' 
-%right NEG 917 
+%right NEG 916 
 
 %define api.prefix {ydf}
 %define api.token.prefix{YDF_}
diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index 066dccee32f7..0e21040c5aba 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -635,7 +635,7 @@
                         ASCENDING ASIN ASSIGN AT ATAN AUTHOR
 
                         BASED BEFORE BINARY BIT BIT_OF BIT_TO_CHAR BLANK BLOCK
-			BOTTOM BY BYTE_LENGTH BYTE_LENGTH_OF
+			BOTTOM BY BYTE_LENGTH
 
                         C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 CF CH
                         CHANGED CHAR CHARACTER CHARACTERS CHECKING CLASS
@@ -2701,8 +2701,8 @@ data_descr:     data_descr1
                 ;
 
 const_value:   	cce_expr
-	|	BYTE_LENGTH_OF of name { $$ = $name->data.capacity; }
-	|	LENGTH         of name { $$ = $name->data.capacity; }
+	|	BYTE_LENGTH of name { $$ = $name->data.capacity; }
+	|	LENGTH      of name { $$ = $name->data.capacity; }
 		;
 
 value78:	literalism
diff --git a/gcc/cobol/scan.l b/gcc/cobol/scan.l
index 3e4b7dee2f0e..a7ee009a4a48 100644
--- a/gcc/cobol/scan.l
+++ b/gcc/cobol/scan.l
@@ -980,7 +980,7 @@ USE([[:space:]]+FOR)?		{ return USE; }
   BLANK    		{ return BLANK; }
   BLOCK			{ return BLOCK; }
   BY			{ return BY; }
-  BYTE-LENGTH		{ return BYTE_LENGTH_OF; }
+  BYTE-LENGTH		{ return BYTE_LENGTH; }
   CHARACTER		{ return CHARACTER; }
   CHARACTERS		{ return CHARACTERS; }
   CODE-SET		{ return CODESET; }
-- 
GitLab