Compiler Command Line Options
With the use of appropriate options, it is possible to direct the compiler to generate intermediate translations, including relocatable object files (-c option), assembly source expansions (-S option). In general, it is possible to save the intermediate files and reference them later on another invocation of the compiler, with other files or libraries included as necessary.
With the use of appropriate options, it is possible to direct the compiler to generate intermediate translations, including relocatable object files (-c option) and assembly source expansions (-S option). In general, it is possible to save the intermediate files and reference them later on another invocation of the compiler, with other files or libraries included as necessary.
Options that are not recognized by the compiler driver are passed to the linking phase. When options are specified that are not available, the compiler issues either warnings or errors. If only warnings are issued, compilation continues.
There are many options that start with -h. You can specify multiple -h options using commas to separate the arguments; for example:
-h acc_model,fp0
Conflicting Options
If conflicting options are specified, the option specified last typically overrides previously specified options. Exceptions to this rule are noted in the individual descriptions of the options. In the case of conflicting options, a Warning or Error generally is issued if the options are incompatible or will cause compilation issues; again, there are exceptions to this rule, but messages are typically issued.
To detect which option the compiler has chosen, use the -eo or -h display_opt option to show the options the compiler actually used. The -eo and -h display_opt options have the same functionality; they are just different ways of specifying the same thing.
Some interactions between options are obvious. For example, if a command line specifies -h fp1,fp0, it's clear that the fp0 option will take precedence over fp1. However, note that there may be more subtle interactions between options, and that the results of specifying multiple options might not always be obvious. For example, given that the -O1 option sets the general optimization level to 1, specifying options in this order—
-h ipa0 -O1
Results in the code being compiled with an ipa (interprocedural analysis) level of 1 (directive-controlled inlining) rather than 0 (inlining disabled), as the -O1 option takes precedence over the -h ipa0 option.