HP aC++ A.03.85 Release Notes

HP aC++ Release Notes
New Features in Version A.03.33
Chapter 1 33
PHSS_25028 - for 11.x prior to 11.11
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: