From 7e81e189b0cb0bfbd403c470512534a83320db34 Mon Sep 17 00:00:00 2001 From: Bob Dubner <rdubner@symas.com> Date: Mon, 27 Jan 2025 19:47:06 -0500 Subject: [PATCH] New INDEXED BY bug in bugsuite. failures/playpen has copybook sample --- gcc/cobol/UAT/bugsuite.src/bugs.at | 24 ++++++++++++++++++++++++ gcc/cobol/failures/Makefile.inc | 4 ++-- gcc/cobol/failures/playpen/copybook.cpy | 4 ++++ gcc/cobol/failures/playpen/one.cpy | 2 -- gcc/cobol/failures/playpen/playpen | Bin 16928 -> 0 bytes gcc/cobol/failures/playpen/playpen.cbl | 19 ++++++++++++------- gcc/cobol/failures/playpen/three.cpy | 1 - gcc/cobol/failures/playpen/two.cpy | 3 --- 8 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 gcc/cobol/failures/playpen/copybook.cpy delete mode 100644 gcc/cobol/failures/playpen/one.cpy delete mode 100755 gcc/cobol/failures/playpen/playpen delete mode 100644 gcc/cobol/failures/playpen/three.cpy delete mode 100644 gcc/cobol/failures/playpen/two.cpy diff --git a/gcc/cobol/UAT/bugsuite.src/bugs.at b/gcc/cobol/UAT/bugsuite.src/bugs.at index 62329fafb3a2..b3d782cb2183 100644 --- a/gcc/cobol/UAT/bugsuite.src/bugs.at +++ b/gcc/cobol/UAT/bugsuite.src/bugs.at @@ -253,3 +253,27 @@ AT_CHECK([./a.out], [0], * BDBBBDB 00 00 30 BDWWWDB ], []) AT_CLEANUP + + +AT_SETUP([Multiple INDEXED BY variables with the same name]) +# +# This compilation should succeed +# +AT_KEYWORDS([bugs]) +AT_DATA([prog.cob], [ IDENTIFICATION DIVISION. + PROGRAM-ID. prog. + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 GROUP-1-TABLE. + 05 TABLE-LEVEL-1. + 06 TABLE-ITEM PICTURE X OCCURS 15 TIMES INDEXED BY IND. + 88 EQUALS-M VALUE "M". + 01 GROUP-2-TABLE. + 05 TABLE-LEVEL-1. + 06 TABLE-ITEM PICTURE X OCCURS 15 TIMES INDEXED BY IND. + 88 EQUALS-M VALUE "M". + PROCEDURE DIVISION. + goback. +]) +AT_CHECK([$COMPILE prog.cob], [0], [], []) +AT_CLEANUP diff --git a/gcc/cobol/failures/Makefile.inc b/gcc/cobol/failures/Makefile.inc index b9c767350bd9..4a1044143e1c 100644 --- a/gcc/cobol/failures/Makefile.inc +++ b/gcc/cobol/failures/Makefile.inc @@ -38,7 +38,7 @@ endif # $(DEBUG) -O0 -o $(basename $(SOURCE_FILE)).s #endif $(GCC_BIN)/$(GCOBOL) -main $(SEARCH_PATHS) $(DEBUG) -O0 -o test $(GCOPTIONS) $(SOURCE_FILE) \ - $(COBOL_RUNTIME_LIBRARY) -Wa,-a > $(basename $(SOURCE_FILE)).lst + $(COBOL_RUNTIME_LIBRARY) -Wa,-a | sed -e '/^\f.*$$/d' -e '/^$$/d' > $(basename $(SOURCE_FILE)).lst ./test < input.txt ifneq ("$(AFTER)","") ./$(AFTER) @@ -67,7 +67,7 @@ tests: $(GCC_BIN)/$(GCOBOL) -main $(SEARCH_PATHS) $(DEBUG) -O0 -S -o test.s $(GCOPTIONS) $(SOURCE_FILE) $(GCC_BIN)/$(GCOBOL) -main $(SEARCH_PATHS) $(DEBUG) -O0 -o test $(GCOPTIONS) $(SOURCE_FILE) \ $(COBOL_RUNTIME_LIBRARY) \ - -Wa,-a > $(basename $(SOURCE_FILE)).lst + -Wa,-a | sed -e '/^\f.*$$/d' -e '/^$$/d' > $(basename $(SOURCE_FILE)).lst .PHONY: gc gc: diff --git a/gcc/cobol/failures/playpen/copybook.cpy b/gcc/cobol/failures/playpen/copybook.cpy new file mode 100644 index 000000000000..b8589883d090 --- /dev/null +++ b/gcc/cobol/failures/playpen/copybook.cpy @@ -0,0 +1,4 @@ + display "I am copybook:1" + display "I am copybook:2" + display "I am copybook:3" + display "I am copybook:4" diff --git a/gcc/cobol/failures/playpen/one.cpy b/gcc/cobol/failures/playpen/one.cpy deleted file mode 100644 index a5afc3edef97..000000000000 --- a/gcc/cobol/failures/playpen/one.cpy +++ /dev/null @@ -1,2 +0,0 @@ - display "I am copybook one" - copy two. diff --git a/gcc/cobol/failures/playpen/playpen b/gcc/cobol/failures/playpen/playpen deleted file mode 100755 index 27e256e1859345d39780260b7c6307933f2071f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16928 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 XVx0R`t+;0zTK_`5l9**tu(0CaS{D+i diff --git a/gcc/cobol/failures/playpen/playpen.cbl b/gcc/cobol/failures/playpen/playpen.cbl index ee548dba2447..04f02a4112a3 100644 --- a/gcc/cobol/failures/playpen/playpen.cbl +++ b/gcc/cobol/failures/playpen/playpen.cbl @@ -1,8 +1,13 @@ - identification division. - program-id. prog. - procedure division. - display "I am the alpha" - copy one. - display "I am the omega" - goback. + identification division. + program-id. prog. + procedure division. + display "I am prog:4" + display "I am prog:5" + display "I am prog:6". + copy copybook. + display "I am prog:8" + display "I am prog:9" + display "I am prog:10" + goback. + end program prog. diff --git a/gcc/cobol/failures/playpen/three.cpy b/gcc/cobol/failures/playpen/three.cpy deleted file mode 100644 index 8263820671d1..000000000000 --- a/gcc/cobol/failures/playpen/three.cpy +++ /dev/null @@ -1 +0,0 @@ - display "I am copybook three" diff --git a/gcc/cobol/failures/playpen/two.cpy b/gcc/cobol/failures/playpen/two.cpy deleted file mode 100644 index 5b9db0dd4803..000000000000 --- a/gcc/cobol/failures/playpen/two.cpy +++ /dev/null @@ -1,3 +0,0 @@ - display "I am copybook two" - copy three. - -- GitLab