Example:

aCC file1.o file2.o lib1.so lib2.so lib3.so

In this scenario, cfront would initialize file2.o first, and then file1.o, while HP aC++ initializes file1.o and then file2.o. You must take this into account in your cfront code to avoid link problems with HP aC++.

More Frequent Inlining of Inline Code

HP C++ does not inline some functions even when you request for it. This happens when the function is too complex. If you use the +w option, the compiler displays a message whenever it does not inline a requested function.

HP aC++ almost always inlines functions for which you have specified the inline keyword.

Changes in C++ Syntax

When you migrate from HP C++ to HP aC++, in addition to changes related to standards based keywords, you may need to make changes to your source code in the following areas:

“Explicit int Declaration” (page 211)

“The for Statement, New Scoping Rules” (page 212)

“struct as Template Type Parameter is Permitted” (page 212)

“Base Template Class Reference Syntax Change” (page 213)

“Tokens after #endif” (page 213)

“overload not a Keyword” (page 213)

“Dangling Comma in enum” (page 214)

“Static Member Definition Required” (page 214)

“Declaring friend Classes” (page 214)

“Incorrect Syntax for Calls to operator new” (page 215)

“Using :: in Class Definitions” (page 215)

“Duplicate Formal Argument Names” (page 215)

“Ambiguous Function or Object Declaration” (page 215)

“Overloaded Operations ++ and --” (page 216)

“Reference Initialization” (page 216)

“Using operator new to Allocate Arrays” (page 217)

“Parentheses in Static Member Initialization List” (page 217)

“&qualified-id Required in Static Member Initialization List” (page 218)

“Non-constant Reference Initialization” (page 218)

“Digraph White Space Separators” (page 219)

Explicit int Declaration

In HP C++, you do not need to explicitly specify int types. In HP aC++, you must explicitly declare int types. This change reduces ambiguity among expressions involving function-like casts and declarations.

Example:

The following code is valid in HP C++:

Migration Considerations Related to Standardization 211