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