HP aC++/HP C Programmer's Guide (B3901-90036; A.06.26; September 2011)
• RWSTD_MULTI_THREAD / _RWSTD_MULTI_THREAD
Required by Rogue Wave standard library header files and libraries.
RWSTD_MULTI_THREAD is used by libstd 1.2.1. _RWSTD_MULTI_THREAD is used
by libstd 2.2.1 when compiling with -AA.
• _POSIX_C_SOURCE=199506L
Required by pthread.
• libpthread.*
Kernel thread library used on 11.x systems
See “Using Threads” (page 202) for more information.
NOTE: Make sure that -mt is used consistently at compile and link times. When you
link with -mt, everything must be compiled with -mt, even if you do not think your file
will be used in a threaded application. When you incorrectly mix and match with -mt,
you get a runtime abort with the following message:
aCC runtime: Use of "-mt" must be consistent during both compilation and linking.
To find the library or object that is missing -mt, use /usr/ccs/bin/footprints and
look for the following:
-mt [(off) 1] -mt [on 1] (Or not present)
The number 1 above is the count of objects with that -mt setting. Not present implies
the source was not compiled with a recent compiler that contains this information.
+O[no]autopar
+O[no]autopar
The +Oautopar option enables automatic parallelization of loops that are deemed safe
and profitable by the loop transformer.
Usage:
This optimization allows applications to exploit otherwise idle resources on multicore or
multiprocessor systems by automatically transforming serial loops into multithreaded
parallel code. When the +Oautopar option is used at optimization levels +O3 and
above, the compiler automatically parallelizes those loops that are deemed safe and
profitable by the loop transformer.
Automatic parallelization can be combined with manual parallelization through the use
of OpenMP directives and the +Oopenmp option. When both +Oopenmp and +Oautopar
options are specified, then any existing OpenMP directives take precedence, and the
compiler will only consider auto-parallelizing other loops that are not controlled by those
directives.
Parallel Processing Options 81