Hi Roger,
The following program runs with open-cobol-0.31 but not with
open-cobol-0.32.
The new version seems to have problems with nested EVALUATES.
Regards Franklin
Test with open-cobol-0.31:
---------------------------
/home/fa0018>cobc hallo.cbl
/home/fa0018>./hallo
TEST 1
LNK-ABS-ISSUE
Compile with open-cobol-0.32:
---------------------------
/home/fa0018>cobc hallo.cbl
hallo.cbl: In section 'MAIN':
hallo.cbl:40: Error: 88 level invalid here
The program hallo.cbl:
---------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. HALLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FUNKTION PIC X(32) VALUE 'TEST 1'.
01 ABS-STATUS PIC X(5) VALUE 'ISSUE'.
01 TMP-PTR USAGE IS POINTER VALUE NULL.
LINKAGE SECTION.
01 LNK-FUNKTION PIC X(32).
01 LNK-ABS-STATUS PIC X(05).
88 LNK-ABS-ISSUE VALUE 'ISSUE'.
88 LNK-ABS-RECEIVE VALUE 'RECEI'.
88 LNK-ABS-SEND VALUE 'SEND '.
PROCEDURE DIVISION.
MAIN SECTION.
SET TMP-PTR TO ADDRESS OF FUNKTION
SET ADDRESS OF LNK-FUNKTION TO TMP-PTR
SET TMP-PTR TO ADDRESS OF ABS-STATUS
SET ADDRESS OF LNK-ABS-STATUS TO TMP-PTR
DISPLAY LNK-FUNKTION
EVALUATE TRUE
WHEN LNK-ABS-RECEIVE
EVALUATE LNK-FUNKTION
WHEN 'INIT-KIDDATA'
DISPLAY 'INIT-KIDDATA'
WHEN OTHER
DISPLAY 'OTHER 1'
END-EVALUATE
WHEN LNK-ABS-ISSUE
DISPLAY 'LNK-ABS-ISSUE'
WHEN OTHER
DISPLAY 'OTHER 2'
END-EVALUATE
GOBACK.