From 84a6912d615159457afa19c1d5794f2de0675e66 Mon Sep 17 00:00:00 2001
From: "James K. Lowden" <jklowden@symas.com>
Date: Thu, 4 Jan 2024 12:13:19 -0500
Subject: [PATCH] extend data.initial for expanded pointers

---
 gcc/cobol/parse.y | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index abfb555ba65c..ab2e387f2da8 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -3530,7 +3530,20 @@ usage_clause1:  usage COMPUTATIONAL[comp]   native
 		  	  field_index(redefined), redefined->name,
 		  	  redefined->data.capacity, field->data.capacity);
 		    }
+
 		    redefined->data.capacity = field->data.capacity;
+
+		    if( redefined->data.initial ) {
+		      char *s = new char[1 + redefined->data.capacity];
+		      if( !s ) {
+		        yyerrorv("error: could not expand initial value of %s", field->name);
+			YYERROR;
+		      }
+		      (void)! snprintf(s, 1 + redefined->data.capacity,
+				       "%s    ", redefined->data.initial);
+		      std::replace(s, s + strlen(s), '!', char(0x20));
+		      redefined->data.initial = s;
+		    }
 		  }
 		}
         |       usage POINTER TO error
-- 
GitLab