From 159e915b41654163b06b5cf26249a23ecf6392f0 Mon Sep 17 00:00:00 2001
From: Bob Dubner <rdubner@symas.com>
Date: Thu, 4 Jan 2024 16:00:46 -0500
Subject: [PATCH] Moved BIGGER-POINTER tests to testsuite from failsuite

---
 gcc/cobol/UAT/failsuite.src/run_functions.at | 47 -------------
 gcc/cobol/UAT/testsuite.src/run_functions.at | 74 ++++++++++++++++++++
 gcc/cobol/failures/playpen/playpen.cbl       | 30 ++++----
 3 files changed, 90 insertions(+), 61 deletions(-)

diff --git a/gcc/cobol/UAT/failsuite.src/run_functions.at b/gcc/cobol/UAT/failsuite.src/run_functions.at
index 62dd92a1832d..eba6c5140260 100644
--- a/gcc/cobol/UAT/failsuite.src/run_functions.at
+++ b/gcc/cobol/UAT/failsuite.src/run_functions.at
@@ -834,50 +834,3 @@ AT_CLEANUP
 
 #####
 
-AT_SETUP([FUNCTION BIGGER-POINTER])
-AT_KEYWORDS([functions POINTER ])
-
-AT_DATA([prog.cob], [
-       IDENTIFICATION   DIVISION.
-       PROGRAM-ID.      prog.
-       DATA             DIVISION.
-       WORKING-STORAGE  SECTION.
-       01  N                PIC     S9(8) COMP-5 value 0.
-       01  P   REDEFINES N  POINTER.
-       01  FILLER.
-        05 X                PIC      A(4) VALUE "ABC".
-        05 E REDEFINES X    PIC      A(1)  OCCURS 4.
-       LINKAGE SECTION.
-       77  B                PIC      A.
-
-       PROCEDURE        DIVISION.
-           set P to address of E(1).
-
-           display FUNCTION trim(x) '.'
-           
-           set address of B to p.
-           perform until B = SPACE
-             display B no advancing
-             set p up by 1
-             set address of B to p
-           end-perform
-           display '.'
-
-           set P to address of E(1)
-           set address of B to p
-           perform until B = SPACES
-             display B no advancing
-             add 1 to N
-             set address of B to p
-           end-perform
-           display '.'
-
-           STOP RUN.
-])
-
-AT_CHECK([$COMPILE -dialect ibm prog.cob], [0], [], [])
-AT_CHECK([$COBCRUN_DIRECT ./a.out], [0], [ABC.
-ABC.
-ABC.
-], [])
-AT_CLEANUP
diff --git a/gcc/cobol/UAT/testsuite.src/run_functions.at b/gcc/cobol/UAT/testsuite.src/run_functions.at
index 1545173ebbfe..e51aebcbc223 100644
--- a/gcc/cobol/UAT/testsuite.src/run_functions.at
+++ b/gcc/cobol/UAT/testsuite.src/run_functions.at
@@ -3815,3 +3815,77 @@ B The function returns 005
 ], [])
 AT_CLEANUP
 
+AT_SETUP([FUNCTION BIGGER-POINTER])
+AT_KEYWORDS([functions POINTER ])
+AT_DATA([prog.cob], [
+       IDENTIFICATION   DIVISION.
+       PROGRAM-ID.      prog.
+       DATA             DIVISION.
+       WORKING-STORAGE  SECTION.
+       01  N                PIC     S9(8) COMP-5 value 0.
+       01  P   REDEFINES N  POINTER.
+       01  FILLER.
+        05 X                PIC      A(4) VALUE "ABC".
+        05 E REDEFINES X    PIC      A(1)  OCCURS 4.
+       LINKAGE SECTION.
+       77  B                PIC      A.
+
+       PROCEDURE        DIVISION.
+           set P to address of E(1).
+
+           display FUNCTION trim(x) '.'
+           
+           set address of B to p.
+           perform until B = SPACE
+             display B no advancing
+             set p up by 1
+             set address of B to p
+           end-perform
+           display '.'
+
+           set P to address of E(1)
+           set address of B to p
+           perform until B = SPACES
+             display B no advancing
+             add 1 to N
+             set address of B to p
+           end-perform
+           display '.'
+
+           STOP RUN.
+])
+AT_CHECK([$COMPILE -dialect ibm prog.cob], [0], [], [])
+AT_CHECK([$COBCRUN_DIRECT ./a.out], [0], [ABC.
+ABC.
+ABC.
+], [])
+AT_CLEANUP
+
+AT_SETUP([FUNCTION BIGGER-POINTER (2)])
+AT_KEYWORDS([functions POINTER ])
+AT_DATA([prog.cob], [
+        identification   division.
+        program-id.      prog.
+        data             division.
+        working-storage  section.
+        01  n4                 pic     s9(8) comp-5 value 0.
+        01  p4   redefines n4  pointer.
+        01  n8                 pic     s9(16) comp-5 value 0.
+        01  p8   redefines n8  pointer.
+        procedure        division.
+            move -1 to n8
+            set     p4 to p8
+            display "P4 and P8 before: " p4 space p8
+            display "Increment N4 and N8"
+            add 1 to n4 n8
+            display "P4 and P8  after: " p4 space p8
+            goback.
+            end program prog.
+])
+AT_CHECK([$COMPILE -dialect ibm prog.cob], [0], [], [])
+AT_CHECK([$COBCRUN_DIRECT ./a.out], [0], [P4 and P8 before: 0xffffffffffffffff 0xffffffffffffffff
+Increment N4 and N8
+P4 and P8  after: 0x0000000000000000 0x0000000000000000
+], [])
+AT_CLEANUP
+
diff --git a/gcc/cobol/failures/playpen/playpen.cbl b/gcc/cobol/failures/playpen/playpen.cbl
index 6eee55391a80..842564bdd2a0 100644
--- a/gcc/cobol/failures/playpen/playpen.cbl
+++ b/gcc/cobol/failures/playpen/playpen.cbl
@@ -1,15 +1,17 @@
-        IDENTIFICATION   DIVISION.
-        PROGRAM-ID.      callee.
-        DATA             DIVISION.
-        WORKING-STORAGE    SECTION.
-        01 V123  PIC 999 VALUE 123.
-        01 VALB  PIC 999 BASED.
-        01 VALB2  PIC 999 BASED.
-        01 VALP         POINTER.
-        01 VALP2         POINTER.
-        PROCEDURE        DIVISION.
-            set VALP VALP2 to address of V123.
-            set ADDRESS OF VALB ADDRESS OF VALB2  TO VALP.
-            display VALB.
+        identification   division.
+        program-id.      prog.
+        data             division.
+        working-storage  section.
+        01  n4                 pic     s9(8) comp-5 value 0.
+        01  p4   redefines n4  pointer.
+        01  n8                 pic     s9(16) comp-5 value 0.
+        01  p8   redefines n8  pointer.
+        procedure        division.
+            move -1 to n8
+            set     p4 to p8
+            display "P4 and P8 before: " p4 space p8
+            display "Increment N4 and N8"
+            add 1 to n4 n8
+            display "P4 and P8  after: " p4 space p8
             goback.
-            end PROGRAM callee.
+            end program prog.
\ No newline at end of file
-- 
GitLab