Changes for Version 3.6.4 (AIX Only)
IBM C and C++ Compilers now supports 64-bit application development for C++ and C
applications.
The following new compiler options are now supported:
- -qignprag to detect aliasing pragma errors.
- -qstrict_induction to disable loop induction variable optimizations that have the
potential to alter the semantics of your program.
Changes from Releases Prior to Version 3.6
C Run Time Library Enhancements
- Unlimited registration of exit handlers
- XPG4 gencat, printf, scanf support
- ISO/MSE amendment 1 compliance
- Time functions support years beyond 2038
- Long long library support (new to OS/2)
- Unicode-based code conversion function utilities -- ICONV support using Unicode (new to
OS/2)
- Ccsidtocs() /cstoccsid() added
Heap Debug/Non-Debug Libraries
- Improved heap debug routines
- Quick relink to determine heap errors (OS/2, Windows)
- Heap validation for most strxxx/memxxx routines
- Stack trace information is displayed with heap errors
- Heap performance improvement for small-sized objects
C++ Run Time Library Enhancements
- Run
Time Type Information (RTTI) is now supported.
- Support
for defining operator new [ ]( ) and operator delete [ ]( ).
Cautions
- The new IBM C and C++ Compilers libraries will not work with the locales from VisualAge
C++ for OS/2 Version 3.0, VisualAge for C++ for Windows Version 3.5, and C Set++ for AIX
Version 3.1.4. However, the libraries from these releases will work with the new set of
locales.
- Extended RTTI is no longer supported.
No Longer Supported
- Direct to SOM code generation is not supported.
- Building SOM or OpenDoc applications is not supported.
- Compiler
Options
- /Fb (browser)
- /Fw (creates code for intermediate code linking
- /Gh (generates Performance Analyzer code)
- /Gu (used for intermediate code linker)
- /Gw (generates fwait instruction after each floating point load)
- /Ol (intermediate code linker)
- /qcheck (replaced with /w)
- /qwin32s
- /qautothread
- Compiler Options
Changes from Previous Releases
- The defaults for /Gf and /Gi have changed to
/Gf+ and /Gi+
- The default for /Gi has changed to /Gi+
In VisualAge 3.5, an .exp file was required
as a command line input if you invoked ilink.exe to create a .dll file. In version
3.6, if an .exp file is not provided on the command line, ilink.exe will call ilib.exe to
create the .exp file and .lib files and continues the linking process. Therefore, you no
longer have to provide the .exp file on the command line.
Changes to Linker Options
- /ALIGNMENT is now /ALIGNFILE (/A works for both)
- /C no longer works for /CODEVIEW; you must now type at least /CODEV
Options are no longer Supported
- /BROWSE|/NOBROWSE
- /OPTVFUNCTION
- The nofreeformat version of the
ILINK command line has been removed
IBM Library Manager
The library utility now allows
options and input files to be specified in any order (free format). If you want to use
build scripts or makefiles from previous releases, replace "ILib" with
"ILib /NOFR". Note: /NOFR must be the first option specified in the command
line.
The following options are not
supported in IBM C and C++ Compilers:
ILIB now accepts module definition file statements.
ILIB now provides the functionality of IMPLIB.
The following support has been added:
- pragma enum
- pragma leaves
- pragma reachable
- pragma stack_align
- long long support
Open Class Library
- Compound Document Framework is no
longer supported.
- Task library has been removed from the AIX
version of USL class library.
IBM Open Class Library Changes
Pragmas and their platform and language
restrictions
Reserved keywords