HP aC++/HP ANSI C A.06.27 Release Notes
5 Compatibility information
Maintaining binary compatibility is a key release requirement for new versions of HP aC++. The
compiler has maintained the same object model and calling convention and remains compatible
with the HP-UX runtime in the code that it generates as well as its intrinsic runtime library (libCsup)
across the various releases of HP aC++ and its run-time patch stream.
aC++ standard conformance and compatibility changes
The following document provides the deattails of the differences that you can experience when
upgrading from HP aC++ Version 5.x to HP aC++ Version 6.0:
http://h21007.www2.hp.com/portal/site/dspp/
menuitem.863c3e4cbcdc3f3515b49c108973a801/?
ciid=2708d7c682f02110d7c682f02110275d6e10RCRD
Caliper compatibility
For binaries containing objects generated with version A.05.38 of the compiler, it is recommended
that you use Caliper version 2.1 for performance measurements and PBO. You can download
Caliper 2.1 from www.hp.com/go/caliper.
WDB compatibility
It is recommended that you use the latest version of the WDB debugger. You can obtain the latest
information on the debugger at Developer and Solution Partner page of the HP web site:
www.hp.com/go/wdb.
Difference in class size when compiling in 32-bit and 64-bit mode
The size of a class containing any virtual functions varies when compiled in 32-bit mode versus
64-bit mode. The difference in size is caused by the virtual table pointer (a pointer to an internal
compiler table) in the class object. (The pointer is created for any class containing one or more
virtual functions.)
When compiling the following example in 32-bit mode, the output is 8. In 64-bit mode, the output
is 16.
extern "C" int printf(const char *,...);
class A {
int a;
public:
virtual void foo(); //virtual function foo, part of class A
};
void A::foo() {
return;
}
int main() {
printf("%d\n",sizeof(A));
}
Migrating from HP C++ (cfront) to HP aC++
The compiler lists Errors, Future Errors, and Warnings. Expect to see more warnings, errors and
future errors reported in your code, many related to standards based syntax. For more complete
information, refer the HP aC++ Transition Guide at http://www.hp.com/go/aCC.
General programming information and support questions
For general background information and experience, subscribe to the cxx-dev list server (like a
notes group). Send a message to: majordomo@cxx.cup.hp.com
42 Compatibility information