HP aC++ Release Notes Version A.03.90
HP aC++ Release Notes
New Features in Version A.03.27
Chapter 154
New Features in Version A.03.27
New features in HP aC++ version A.03.27 are listed below.
• Rogue Wave Standard C++ Library 2.2.1
• Transitioning from the Prior to the New Standard C++ Library
• Incremental Linking in 64-bit Mode
Rogue Wave Standard C++ Library 2.2.1
The Rogue Wave Standard C++ Library 2.2.1 (libstd_v2) is now bundled with HP aC++. This library
includes the standard iostream library and has namespace std enabled.
To use the new library, you must specify the -AA command line option. Note the following:
• The +A option is not supported with -AA and may give various link or run-time errors.
• The Rogue Wave Tools.h++ Version 7.0.6 library cannot be used with -AA.
• The prior library (Rogue Wave Standard C++ Library 1.2.1) is the default.
• The prior libraries (Rogue Wave Standard C++ Library 1.2.1 and Rogue Wave Tools.h++ Version 7.0.6)
are not compatible with the 2.2.1 library. Code compiled without -AA is incompatible with code
compiled with -AA.
Common Migration Problem When Using -AA Option
The following example shows a common problem when using the -AA option. The result of using the new
overloads of strchr (on a const char*) is now a const char*. Error 440 results if “p” is not declared
as a const char*.
#include <string.h>
int main() {
char *p = strchr(“abc”, ‘c’);
}
$ aCC -c strchr.c
$ aCC -c strchr.c -AA
Error 440: “strchr.c”, line 3 # Cannot initialize ‘char *’ with
‘const char *’. char *p = strchr(“abc”, ‘c’);
^^^^^^^^^^^^^^^^^^