, 1 min read
Memory Limitations with IBM Enterprise COBOL Compiler
Recently I learned the hard way that IBM Enterprise COBOL compiler for z/OS (mainframe) cannot generate 8-byte long POINTER variables, but only 4-byte pointers. This means, you cannot use more than 2GB in COBOL on a mainframe. I.e., you cannot make use of AMODE=64 with COBOL on the mainframe. You can run in AMODE=64, but you cannot exploit it. By the way, we have the year 2013. So, no big-data on mainframe with COBOL.
IBM Assembler and C/C++ can fully exploit AMODE=64, i.e., can use 8-byte long pointers.
Added 16-May-2020:
- Enterprise COBOL for z/OS, Version 4.2.0: No AMODE=64
- Enterprise COBOL for z/OS, Version 5.2.0: No AMODE=64
- Enterprise COBOL for z/OS, Version 6.1.0: No AMODE=64
- Enterprise COBOL for z/OS, Version 6.2.0: No AMODE=64
- Enterprise COBOL for z/OS, Version 6.3.0: Hurray, now finally AMODE=64 support since September 2019
For a list of versions see IBM Enterprise COBOL for z/OS.