[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[open-cobol-list] cobol program generates incorrect C code
From: |
David Korn |
Subject: |
[open-cobol-list] cobol program generates incorrect C code |
Date: |
Tue Nov 25 15:05:09 2003 |
cc: address@hidden
Subject: cobol program generates incorrect C code
--------
With the open-cobol-0.23.29 compiler, the following program
produces C code that doesn't compile.
I ran
cobc -static -std=mvs -C -O -fmain prog.cob
to compile, and prog.c contains the lines
l_START_PROGRAM:
/* MOVE */
cob_get_int (&f_WK_IO_STATUS_INDICATORS$WK_RETURN_CODE) = 0;
which is not valid C.
====================prog.cob=========================
ID DIVISION.
PROGRAM-ID. CJVTCK03.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
/
WORKING-STORAGE SECTION.
01 WK-IO-STATUS-INDICATORS.
05 WK-ACT-USOC-IO-STAT PIC X(02).
88 ACT-USOC-IO-GOOD VALUE '00'.
05 WK-RCP-USOC-IO-STAT PIC X(02).
88 RCP-USOC-IO-GOOD VALUE '00'.
05 WK-CKT-USOC-IO-STAT PIC X(02).
88 CKT-USOC-IO-GOOD VALUE '00'.
05 WK-RETURN-CODE PIC S9(04) COMP.
01 WK-PROGRAM-SWITCHES.
05 WK-ACTU-EOF-SW PIC X(01) VALUE 'N'.
88 END-OF-ACTU-FILE VALUE 'Y'.
05 WK-RCPU-EOF-SW PIC X(01) VALUE 'N'.
01 WK-INPUT-ACTU-DATA.
05 WK-ACTU-KEY.
10 WK-ACTU-MCN-BASE PIC X(06).
01 WK-INPUT-RCPU-DATA.
05 WK-RCPU-KEY.
10 WK-RCPU-MCN-BASE PIC X(06).
01 WK-USOC-RECORD.
05 WK-UR-KEY.
10 WK-UR-COMMON-KEY.
15 WK-UR-INVC-DTE PIC X(06).
PROCEDURE DIVISION.
PERFORM START-PROGRAM
PERFORM PROCESS-VTNS-USOC-INFO.
END-JOB.
MOVE WK-RETURN-CODE TO RETURN-CODE
GOBACK.
START-PROGRAM.
MOVE ZERO TO WK-RETURN-CODE
IF NOT ACT-USOC-IO-GOOD
GO TO END-JOB
END-IF
IF NOT RCP-USOC-IO-GOOD
GO TO END-JOB
END-IF
IF NOT CKT-USOC-IO-GOOD
GO TO END-JOB
END-IF.
PROCESS-VTNS-USOC-INFO.
INITIALIZE WK-INPUT-ACTU-DATA,
WK-INPUT-RCPU-DATA,
WK-USOC-RECORD
MOVE 'N' TO WK-ACTU-EOF-SW,
WK-RCPU-EOF-SW.
====================end prog.cob=========================
David Korn
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [open-cobol-list] cobol program generates incorrect C code,
David Korn <=