HP aC++ A.03.85 Release Notes

HP aC++ Release Notes
New Features in Version A.03.33
Chapter 144
+Oprofile=prediction:static
Select static branch prediction for this executable. This is a synonym for +Ostaticprediction.
NOTE Note the following while performing optimization using new options:
The new options can be used only with -c (compile only), if not, the
optimization is performed as in the earlier versions of the compiler.
The new options are available only at optimization levels below +O4. At +O4,
the compiler silently replaces +Oprofile by +I or +P.
Mixing of old and new options while optimizing on the same command line
is disabled. For example, +Oprofile and +I/+P/+df in the same command
line are incompatible.
•The flow.data file must exist when compiling with +Oprofile=use,
instead of the link stage with +P.
Initialized Thread Local Storage
Static link time initialization of thread private variables (PODs only) is now supported.
Earlier versions of the compiler supported only uninitialized thread private variables.
For example:
__thread int j = 2; // allowed with this release
int main()
j = 20;
}
Since thread private memory is allocated during runtime, virtual addresses of the thread
private variables should not be used in situations where compile time evaluation of the
addresses is necessary. Following are some of the sample incorrect usages:
Example 1:
__thread int tpv_1;
__thread int *ptr = &tpv_1; //incorrect
Example 2:
__thread int tpv_1;
int *ptr = &tpv_1; //incorrect