gnucobol-users
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]