HP aC++/HP C A.06.25 Programmer's Guide
NOTE: For C++ and C -Ae -D_HPUX_SOURCE is set to be compatible with the
default when -mt is not used. For C mode options -AC89, -AC99, and -Aa,
-D_HPUX_SOURCE is also set. If you do not want to use-D_HPUX_SOURCE, you can
undefine it by using -U. Example: -U_HPUX_SOURCE
The following macros are used to compile multi-thread source code:
• _REENTRANT
Required by system header files that provide reentrant functions (suffixed by _r).
• RW_MULTI_THREAD / _RW_MULTI_THREAD
Required by Rogue Wave toolsh++ header files and libraries. RW_MULTI_THREAD
is used by toolsh++ 7.0.x. _RW_MULTI_THREAD is used by toolsh++ 8.x (not available
yet).
• 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 213) 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
90 Command-Line Options