Table C-1. HP-UX ANSI cc and gcc Compiler Switches Comparison Table
HP cc Option[1] | GNU gcc Option[2] | Description |
---|
-A[a|c|e] | -ansi | |
| -std=standard | Specifies the degree of ANSI compliance. |
-Bextern | None | Performs the same operation as +Oextern=sym1,sym2,sym3... except that symbols are loaded from an existing file, instead of specified on the command line. |
-Bhidden | None | Hides all the symbols including references except for those prefixed with__declspec(dllexport), __declspec(dllimport). |
-Bhidden_def | None | Hides all the symbols defined in the module except for those prefixed with__declspec(dllexport). |
-c | -c | Compiles only; does not link. |
-C | -C | Prevents the preprocessor from stripping comments. |
-D_POSIX_C_SOURCE=199506L | | |
-D_REENTRANT-lpthread | | |
or use lcma (for user threads) | -D_REENTRANT -lpthread | Compiling with threads. |
-Dname | -Dname | Defines the preprocessor variable name with a value of 1. |
-Dname=def | -Dname=def | Defines the preprocessor variable name with a value of def. |
-dynamic | -Wl,-Bdynamic | Enables linking of PIC objects. |
-E | -E | Performs preprocessing only with output to stdout. |
-fast | None | Expands into a set of compiler options, which results in improved application runtime. Options included are +O3, +Onolooptransform, +Olibcalls, +FPD, +Oentryschedule, and +Ofastaccess. Any of these options can be overridden by placing a subsequent option after -fast on the command line. |
-g | -g | Inserts information for the symbolic debugger in the object file. |
-G | -pg | Inserts information required by the gprof profiler in the object file. |
-Idir | -Idir | Inserts dir in the include file search path. |
-lx | -lx | Links with the libx.a depending on default library paths. |
-Ldir | -Ldir | Links the libraries in dir before the libraries in the default search path. Adds default linker paths to one specified in the L option before searching the default system library directories. |
-Wl,-Lsearchdir | -Wl,-Lsearchdir | -Wl specifies a flag to pass on to the linker. In this case, the L flag is passed on. This has the same effect as the L option. |
-n | -shared | Generates shareable code. |
| -Bshareable | |
-N | None | Generates unshareable code. |
-noshared | -static | Creates statically bound executables. |
| -Bstatic | |
| -dn | |
| -non_shared | |
-o outfile | -o outfile | Places object modules in file outfile. |
-O | -O2 | Optimizes at level 2. |
-p | -p | Inserts information required by the prof profiler in the object file. |
-P | None | Performs preprocessing only with output to the corresponding .i file. |
-q | None | Marks the executable as demand-loadable. |
-Q | None | Marks the executable as not being demand-loadable. |
-s | -s | Strips the symbol table from the executable file. |
-S | -S | Generates an assembly language source file. |
-t x,name | None | Substitutes or inserts subprocess x with name. |
-Uname | -Uname | Undefines name in the preprocessor. |
-v | -v | Enables verbose mode. |
None | -### | Shows each invoked component; does not execute. |
-V -version | --version | Causes subprocesses to print version information to stderr. |
-w | -w | Suppresses warning messages. |
-Wd,-a or +a | None | Omits HP-provided prefix files required by the linker. |
-Wx, arg1 [,arg2,..,argn] | -Wx,option | Passes the arguments to subprocess x. |
-y | None | Generates information used by the HP SoftBench static analysis tool. |
-Y | None | Enables Native Language Support (NLS). |
-z | Default (also see -fno-delete-null-pointer-checks-fdelete-null-pointer-checks) | Disallows runtime dereferencing of null pointers. |
-Z | None | Allows dereferencing of null pointers at runtime. |
+DAmodel | -b machine moptions (if GCC is set up as a cross-compiler) | Generates object code for a specific version of the PA-RISC architecture. In the case of GCC, whichever platform it is is set up for cross-compiling. |
+DCapptype | None | Generates code for portable or embedded applications. |
+DD32 | -mpa-risc-1-1 | Generates 32-bit code for PA1.1 architecture. |
+DD64 (64-bit) | -mpa-risc-2-0 (32-bit) | Generates x-bit code for PA2.0 architecture. |
+dfname | None | Specifies the profile database to use with profile-based optimization. |
+DSmodel | None | Performs instruction scheduling for a specific implementation of PA-RISC. |
+DOosname | None | Sets the target operating system for the compiler. |
+e | None | Enables the following HP value-added features while compiling in ANSI C mode: sized enum, long long, long pointers, compiler-supplied defaults for missing arguments to intrinsic calls, and $ in identifier HP C extensions. |
+ESconstlit | None | Introduces new default behavior. HP C now stores constant-qualified (const) objects and literals in read-only memory. |
+ESfic | None | Compiles with inline fast indirect calls. |
+ESlit | Default | Places string literals and constants into read-only data storage. |
+ESnolit | None | Disables +ESconstlit, causing HP C to no longer store literals in read-only memory. |
+ESnoparmreloc | None | Disables parameter relocation for function calls. |
+ESsfc | None | Replaces function pointer comparison millicode calls with inline code. |
+f | None | Inhibits the promotion of float to double, except for function calls and returns. |
+FPflags Example: +FPVZO | None | Controls floating-point traps. |
+help | None | Launches a Web browser displaying an HTML version of the HP C/HP-UX online help. |
+hugesize | None | Lowers the threshold for huge data. |
+I | -pg | Prepares the object code for profile-based optimization data collection. |
+k | None | Generates long-displacement code sequences so a program can reference large amounts of global data physically located in shared libraries. |
+L | None | Enables any #pragma listing directives and the listing facility. |
+m | None | Prints identifier maps in the source code listing. |
+o | None | Prints hexadecimal code offsets in the source code listing. |
+[no]objdebug | None | When used with -g, +objdebug leaves debug information in the object files. |
+O[0|1|2|3|4] | -O[0|1|2|3|s] | Invokes optimization level. |
+P | -fprofile-generate-fprofile-use | Performs profile-based optimization. |
+pgmname | None | Specifies the execution profile data set to be used by the optimizer. |
+r | None | Inhibits the automatic promotion of float to double. |
+sb | -fsigned-bitfields-fno-unsigned- bitfields | Makes bit-fields signed by default in both 32- and 64-bit modes. |
+ubytes | -falign-labels=n (align branch targets to a power of 2 boundary) | Controls pointer alignment where bytes is 1, 2, or 4. |
+uc | -funsigned-char | Makes unqualified char data types unsigned. |
+wn | -Woptions (close equivalent) -Wall (turns on all warning messages) | Specifies the level of the warning messages where n is 13 (HP-UX). |
+W n1[,n2,...nN] | -Wnooptions (close equivalent) | Suppresses the specified warnings. |
+Wen1[,n2,...nN] | -Werror (all warnings, close equivalent) | Changes the specified warnings to errors. |
| -pendantic | |
+Wwn1[,n2,...nN] | -Woptions (close equivalent) | Enables the specified warnings, assuming all other warnings are suppressed with -w or +w3. |
+z | -fpic | Generates shared library object code (same as +Z in 64-bit mode). |
+Z | -fPIC | Generates shared library object code with a large data linkage table (long-form PIC). |