[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[open-cobol-list] CVS Update 20051218

From: Roger While
Subject: [open-cobol-list] CVS Update 20051218
Date: Sun Dec 18 12:27:02 2005

CVS Updated.

The two config parameters "perform-osvs" and
"sticky-linkage" are now activated for IBM and MVS
("-std=ibm" and "-std=mvs").
Info on what these options (should) do :
Documentation -> Server Express 4.0 -> Reference -> Compiler Directives.

OC tests for the two above parameters are performed
("make check")

To cater for EXTERNAL items referenced from file
descriptions, the file structure initialization (for all
items) is now done by code and not by static values.
This will eventually cater for the case that we support
EXTERNAL at the FD level (currently pending).

Bob, the above points solve your recent posts.

Remove the EBCDIC table from common.c and generate
it from codegen if needed.

Implement the "-x" option for the compiler "cobc".
This produces an executable.
Generating an executable is STILL the default
(At the moment) but you will get a warning to use "-x".
cobc prog.cob
will STILL produce "prog" but will give a warning :
"Warning - Use '-x' to create an executable".

Note, the "-fmain", while still supported is marked as "deprecated".
cobc help text updated.

If you are producing executables, get used to supplying '-x'.
Also, for the intermediate code options "-C, -E, -S, -c",
if supplied alone, will produce warning :
"Warning - Use '-x' to generate main code
                Use '-m' to generate module code"

So, use these options with one of "-x" or "-m".
Checked is also illegal combinations eg.
"-x" and "-m" together or more than one of
"-C", "-E", "-S", "-c".

I still recommend that you compile ALL programs as
modules ("-m") and execute your main programs with

OC tests and Cobol85 test suite modified to use "-x".

"texi/open-cobol.(texi/info)" updated accordingly.
General cleanup to rename "shadowed" variables
(Discovered using -Wshadow gcc option)

Make some items const (and static where appropiate) to
reduce data/bss usage.

Fix display of large numbers (20 digits)

Changes for MingW.
On my box (with an older MingW version), this gets through
all OC and Cobol85 tests (with exception of OC "unusual
prog-id"; ld.exe does not like a dollar in the name).

These are only 290 bytes (or less) on Win.
Use own definitions.


Define a new config file - "bs2000".
BS2000 is similar to MVS but does not have
sticky-linkage or perform-osvs.
You may now specify "-std=bs2000".
Add in to cobc help text.

On non-MingW systems, do not use mkstemp.
(Both compiler and runtime)
We have the pid to create unique file names.
We were only using mkstemp to get a unique name and
immediately deleted the file after the call. Not necessary.

Compile time optimization -
If we have only one input file to the compile and we are
generating an executable or a module, then we do not
need to compile to an object and then link to the final result.
We can combine that in one gcc call.

Note: There is some non-optimal experimental code flying
around in move.[hc], numeric.[hc]. Still working on a couple
of things here. Nothing should be broke because of this.

Snapshot tarball as usual at :


reply via email to

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