HP aC++ Release Notes Version A.03.90
HP aC++ Release Notes
New Features in Version A.03.33
Chapter 136
• PHSS_25029 - for 11.11 and greater
It is recommended that you use the -N option when linking OpenMP programs to avoid exhausting memory
when running with large numbers of threads.
For this first release of aCC containing OpenMP, some debugging position information for OpenMP
constructs may not be accurate. In addition, symbols marked with the threadprivate pragma may not be
visible to the debugger. To work around this limitation, use the __thread storage class specifier in the
symbol declaration instead.
#if defined(__HP_aCC) && !defined(__THREAD)
#define __THREAD __thread
#else
#define __THREAD
#endif
__THREAD int tprvt;
#pragma omp threadprivate(tprvt)
OpenMP also supported in HP aC++ ANSI C mode (-Ae).
OpenMP Known Problems:
Initialization of firstprivate variables is erroneously done after calculation of the loop iteration count. As a
result, loops with iteration counts that depend on the value of firstprivate variables will execute incorrectly.
For example:
int n = 100;
#pragma omp for firstprivate(n)
for (int i = 0; i < n; i++) {
// Loop executes an indeterminate number of times because
// private copy of n is not initialized prior to calculation
// of loop iteration count.
}
aCC_MAXERR to Control Maximum Number of Compiler Errors
The aCC_MAXERR environment variable allows you to set the maximum number of errors you want the
compiler to report before it terminates compilation. The current default is 12, but you can set it to any
number greater than zero.
The compiler may not be able to recover from all errors and still display:
445 Cannot recover from earlier errors