Package: open-cobol
Version: 0.32-3
Attempting to compile a simple test program produces an internal
compiler error. I've run this through one or two other compilers
without problems. Best I can tell, the syntax is all legal.
I've commented out a few non-essential bits, but it doesn't seem to
make any difference. I also tried making the records fixed instead
of varying length, to no avail.
===============================================================================
sample run:
===============================================================================
yagi 7410 $ cobc -C -Wall -std=mvs test.cob
test.cob: In paragraph '210-COPY':
test.cob:77: warning: READ statement not terminated by END-READ
test.cob:80: warning: IF statement not terminated by END-IF
Unexpected tree tag 1413632580
Aborting compile of test.cob at line 84
codegen.c:802: internal compiler error
Abort (core dumped)
===============================================================================
test.cob:
===============================================================================
IDENTIFICATION DIVISION.
PROGRAM-ID. DRBTEST.
* AUTHOR. Dennis Boone.
* DATE-WRITTEN. 15Sep2006.
ENVIRONMENT DIVISION.
* CONFIGURATION SECTION.
* SOURCE-COMPUTER. VAX.
* OBJECT-COMPUTER. VAX.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT TESTFILEI
ASSIGN TO INFILE
ORGANIZATION IS SEQUENTIAL.
SELECT TESTFILEO
ASSIGN TO OUTFILE
ORGANIZATION IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD TESTFILEI
RECORD IS VARYING IN SIZE
FROM 0 TO 256 CHARACTERS
DEPENDING ON REC-LEN.
* LABEL RECORDS ARE OMITTED
* DATA RECORD IS TFIREC.
01 TFIREC.
03 ISTR PIC X(256).
FD TESTFILEO
RECORD IS VARYING IN SIZE
FROM 0 TO 256 CHARACTERS
DEPENDING ON REC-LEN.
* LABEL RECORDS ARE OMITTED
* DATA RECORD IS TFOREC.
01 TFOREC.
03 OSTR PIC X(256).
WORKING-STORAGE SECTION.
77 TFI-STATUS PIC 9.
77 REC-CNT PIC 9(9).
77 REC-LEN PIC 9(9).
PROCEDURE DIVISION.
100-MAIN.
PERFORM 200-FILE-SETUP.
MOVE 0 TO TFI-STATUS.
PERFORM 210-COPY
VARYING REC-CNT FROM 0 BY 1
UNTIL TFI-STATUS IS GREATER THAN 0.
CLOSE TESTFILEI.
CLOSE TESTFILEO.
DISPLAY REC-CNT, ' RECORDS COPIED.'.
EXIT PROGRAM.
200-FILE-SETUP.
OPEN INPUT TESTFILEI.
OPEN OUTPUT TESTFILEO.
210-COPY.
MOVE SPACES TO ISTR.
MOVE SPACES TO OSTR.
READ TESTFILEI RECORD
AT END MOVE 1 TO TFI-STATUS.
MOVE ISTR TO OSTR.
IF TFI-STATUS = 0
WRITE TFOREC.
END PROGRAM DRBTEST.
===============================================================================
test.c:
===============================================================================
/* Generated from test.cob by cobc 0.32 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <libcob.h>
#include "test.c.h"
static int DRBTEST_ (int);
int
DRBTEST ()
{
return DRBTEST_ (0);
}
static int
DRBTEST_ (int entry)
{
static int initialized = 0;
static cob_module module = { NULL, NULL, 0, '.', '$', ',', 1, 0, 0};
/* Files */
static cob_file h_TESTFILEI = {0, 1, 0, 0, 0, &c_20,
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]