This file contains alphabetical list of the valid Compilation switches. An overview of switches can be found in Programming with Apex.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
|
Range:
|
static, dynamic, dynamic_or_static, default
|
Specifies the link mode for Ada main programs in the view. This switch is valid for those targets that support shared libraries (Sun Solaris, HP-PA HP-UX, Digital UNIX, SGI Irix, IBM RS/6000 AIX, Linux).
In the view of where the executable is to be linked, this switch determines which set of object files in the closure views are to be used. Each view contains object files for the units that are compiled, and potentially a shared library constructed out of the object files (governed by the CREATE_SHARED_LIBRARY switch in each view). The ADA_LINK_MODE switch determines whether the object files or the shared libraries participate in the link.
If ADA_LINK_MODE has a value of "static", linking is performed without shared libraries. In each view, only the object files are used in the link process and any existing shared libraries are ignored. [Note that when linking in this mode, object files that were compiled with CREATE_SHARED_LIBRARY set to True will contain position-independent code. Although these are fully compatible with non position-independent object files, they may be less efficient execution-wise.]
If ADA_LINK_MODE is set to "dynamic", the linker uses shared libraries from views that specify one (if CREATE_SHARED_LIBRARY is set to True) and object files from views that don't. In the case where a view is encountered with CREATE_SHARED_LIBRARY set to TRUE and a shared library doesn't exist, the prelinker will create the shared library using the currently existing object files in the view.
If the value of ADA_LINK_MODE is "dynamic_or_static", the LINK_CONTRIBUTION_DEFAULT_MODE switch of each individual view in the closure is used to determine what files from the individual view to link with.
An ADA_LINK_MODE value of "default", or no switch value at all, is the same as specifying a value of "dynamic_or_static".
The default link behavior, when the ADA_LINK_MODE and the individual LINK_CONTRIBUTION_DEFAULT_MODE view switches are missing, is to build a dynamically linked executable, using shared libraries from views which provide one, and object files from views which don't.
On Solaris, specifying ADA_LINK_MODE = "static", may still result in a dynamically linked executable being built. Some system libraries needed for linkage appear only in their shared, not archived, form. It is therefore necessary to build a dynamically linked executable if these libraries are referenced. Although the executable is dynamic, no shared libraries from within the Ada closure will be used.
Additional information on this switch can be found in the Ada Compiler Reference.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
pathname
|
The alternate key in an Ada view that is used to enable linking C/C++ in the closure.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
Archived
|
Range:
|
Archived, Source, Installed, Coded
|
The state to which the units will be cleaned. All compilation artifacts associated with higher states are deleted.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
|
Range:
|
" ", Installed, Coded, Linked
|
Used to determine additional units to be analyzed. The empty string (" ") is equivalent to specifying Installed. If the APEX_COMPILE_CONFIGURATION switch is specified, the closure set is computed from units in the views of the configuration, otherwise the set is computed from units in the imported views.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Compile all views in the configuration.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
If a deadlock is detected among the tasks declared in your program, terminate program and print the state of each task. The pragma Main options take precedence over this switch.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Continue past the first unit with errors. If True, command will stop after the first unit containing an error.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Session
|
Type:
|
Integer
|
Option:
|
Yes
|
Default Value:
|
2147483647
|
Range:
|
0 - Integer'Last
|
Heap size to use when running programs. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Use the platform incremental linker, if it exists.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Session
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
|
Range:
|
" ",view or directory in view
|
The directory into which the files will be parsed. Must name a view or a directory in a view. If blank, the current directory is used. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Recompiles the units in each view, converting to new DIANA, CG attribute, and program library formats
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
When a task issues an I/O request, do not wait for the I/O to complete. When True, the task is blocked until the I/O completes, but other tasks in the program may run. When False, the entire program (all tasks) are blocked while any task is waiting for an I/O request to complete. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
True
|
Range:
|
True, False
|
Use the POSIX I/O behavior. When False,uses traditional I/O behavior allowing users to use some of the UNIX signals that POSIX forbids. Pragma Main can override this switch. See the Ada Compiler Reference Guide for more information. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Allow tasks to be preempted. Pragma Main can override this switch. See the Compiler Reference for more information.
This switch is only applicable to Ada views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Session
|
Type:
|
Integer
|
Option:
|
Yes
|
Default Value:
|
65,536, 2,097,152 when debugging
|
Range:
|
2048 - Integer'Last
|
Size in bytes to use for the signal stack. This stack contains UNIX signals and special type displays (used in debugging). For more information on special type displays, please see the Using the Apex Debugger. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.
Area:
|
Runtime - Ada only
|
Switch Kind:
|
Session
|
Type:
|
Integer
|
Option:
|
Yes
|
Default Value:
|
2097152
|
Range:
|
2048 - Integer'Last
|
Size in bytes of the execution stack for the main program or root task. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Integer
|
Option:
|
Yes
|
Default Value:
|
127
|
Range:
|
0 - 255
|
Default priority for tasks when not specified by the Priority pragma. Priority 255 is this highest priority. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
Integer
|
Option:
|
Yes
|
Default Value:
|
65536
|
Range:
|
2048 - Integer'Last
|
Default size in bytes to use for the task execution stack when not specified by a representation clause. Pragma Main can override this switch. See the Compiler Reference for more information. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Session
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
0.0
|
Range:
|
Duration'Range
|
Duration in seconds for an execution time slice. Time slicing is only done if APEX_PREEMPTIVE_SCHEDULING is True and APEX_TIME_SLICE is not 0.0. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.
Area:
|
Runtime - Ada only
|
Switch Kind:
|
Session
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Linux only supports fixed priorities (i.e. priorities not adjusted by the OS as part of fair scheduling) in tasks implemented over threads using real-time scheduling policies (SCHED_FIFO, SCHED_RR). Real-time scheduling policies require root privileges, which means that Apex Ada applications using priorities cannot be run without root privileges.
Setting APEX_UNCHECKED_PRIORITIES to True allows such applications to be run without root privileges. This is done by having the runtime simply ignore EPERM errors returned by the OS when attempting to set real-time scheduling policies or priorities. The application will run as though no priorities had been specified.
This switch is only applicable to Linux native Ada views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
|
Range:
|
filename
|
Name of the file that gets included whenever the preprocessor is invoked. The preprocessor is described in detail in the Ada Compiler Reference.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
pathname
|
Specifies the name of the build key of the view and determines all of the build management characteristics of the view. Usually this value is derived from the view's model. For more information, see Programming with Apex. This switch is only applicable to C++ views.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
|
Default Value:
|
object_files
|
Range:
|
see the Ada Compiler Reference
|
Specifies the meaning of build operations that are applied to the view. This switch is described in detail in the Ada Compiler Reference.
Area:
|
Compilation - C only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the linker whenever a C main program is linked. This switch is only applicable to C views.
Area:
|
Compilation - C only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the linker whenever a C main program is linked. This switch is only applicable to C/C++ views.
Area:
|
Compilation - C only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the C compiler when a C source file is compiled. This switch is only applicable to C/C++ views.
Area:
|
Compilation - C only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the C compiler when a C source file is compiled. This switch is only applicable to C/C++ views.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
compile_all
|
Range
|
compile_all, compile_none
|
When building a library or linking a main program, specifies the policy for automatic recompilation of the closure. This switch is only applicable to C/C++ views.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
""
|
Range:
|
Dependent on target architecture
|
This switch provides a mechanism for passing command line options to the code generator. These are of the form:
The possible Directive and Value values vary from target to target.
Directive: ARCHITECTURE:<model>
Target: PowerPC
Default: RS6000_PPC32
Range: RS6000_PPC32, RS6000, PPC32, PPC601, PPC603, PPC604, PPC860
Specifies the instruction set to be used for Apex compilations. Note that object files compiled for a specific architecture will be link-time compatible with common instruction set object modules.
RS6000_PPC32 (common instruction set model) provides execution portability. Code compiled under this mode will run on all RS6000 and PowerPC models. Disadvantages are that some operations will be performed less efficiently or require runtime library intervention.
Specifying a particular architecture, or PPC32, allows the compiler to optimize its code generation strategy for for one particular machine or class of architectures. Running executables on hardware other than that for which they were compiled for may result in unexpected failures, in the form of illegal instructions, or performance degradation due to OS emulation of such instructions.
Directive: CODER_OPTION_EXTENSION:<extension>
Target: DEC Alpha
Default: " "
Range: A comma-separated list (no spaces) of BWX, CIX, MAX
Specifies one or more extension instruction sets to be used.
Example: "-INFO CODER_OPTION_EXTENSION:BWX,CIX"
Enables both BWX and CIX extensions.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Pathname
|
Option:
|
No
|
Default Value:
|
Installation dependent
|
Range:
|
Compiler pathname
|
The compiler to use, which provides for platform-specific semantic checking and code generation.
Note: Set by installation. Do not change.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
Set by model being used
|
Range:
|
Compiler pathname
|
The COMPILER_TOOLS_PATH switch is used by the Ada compiler and other Apex tools to locate target-specific versions of each tools. It can be specified on the command line as -compiler_tools_path <list of filesystem directory pathnames> the Policy/Switches file as COMPILER_TOOLS_PATH: <list of filesystem directory pathnames>. The list of pathnames must be separated by ":"s (same conventions as $PATH.)
The COMPILER_TOOLS_PATH switch is specified in the Ada model. It is copied from the model into the Ada view a view creation and any time an apex remodel -update or -replace_switches command is invoked on the Ada view.
Area:
|
Compilation, Rexec
|
Switch Kind:
|
Context
|
Type:
|
Pathname
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
Configuration pathname
|
Configuration to use during a link to compute the closure of a main program. If blank, the imports are used. Can be used to specify units to compile beyond those found in the code closure in the Compiler Switches imported views.
For Apex cross, a linker configuration file is always required. The components of the board configuration that are linked with a program are referenced by the linker configuration. The default value of this switch in Apex cross is <view>/Link.cfg.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
True
|
Range:
|
|
This switch can be true only when CPP_COMPILER_KIND is "apex" or "SPARCompiler-4". In all other cases this switch needs to be set to false (explicitly) - especially while using a native compiler (other than SPARCompiler-4) or a different compiler for building under Apex C++. This switch tells Apex whether to compile template instantiations or not (this is translated into appropriate RCC option while using RCC).
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
pathname
|
Specifies the pathname to the C/C++ compiler that is to be used in the view. This switch is only applicable to C++ views.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Specifies the variant that is to be used. This switch is only applicable to C++ views.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
True
|
Range:
|
|
This switch can be true only when CPP_COMPILER_KIND is "apex" or "SPARCompiler-4". In all other cases this switch needs to be set to false (explicitly) - especially while using a native compiler (other than SPARCompiler-4) or a different compiler for building under Apex C++. This switch tells Apex whether to include the template instantiations in the resulting CPP LIBRARY or not (this is translated into appropriate RCC option while using RCC).
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the linker whenever a C++ main program is linked. This switch is only applicable to C++ views.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the linker whenever a C++ main program is linked. This switch is only applicable to C++ views.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the C++ compiler when a C++ source file is compiled. This switch is only applicable to C++ views.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Options that are passed to the C++ compiler when a C++ source file is compiled. This switch is only applicable to C++ views.
Area:
|
Compilation - C++only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
The extensions of artifacts within the view's repository which should be removed when the view is cleaned. Values should begin with a period and be separated by spaces. This value need not be set for either apex or SPARCompiler-4 compiler kinds.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
The names of artifacts within the view's repository which should be removed when the view is cleaned. This value need not be set for either apex or SPARCompiler compiler kinds.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
local
|
Range:
|
local, global
|
Specifies the template repository mode for the view. The possible values are: local, and global.
Area:
|
Compilation - C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
see the C/C++ Compiler Reference
|
Specifies the name of the template repository used by the view. If the value of CPP_PTREPOSITORY_MODE is local then this should name a relative to the current view, otherwise this should be an absolute pathname. If no value is set then .Rational/Compilation is used. This value is passed to the target compiler as the value of -ptr option. This value need not be set for either apex or SPARCompiler-4 compiler kinds.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
true
|
Range:
|
True, False
|
Determines whether or not an archived library will be created when a library is specified by the build policy. Note that an archive library is only created if this option is set and the build policy specifies that a library is to be created.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
false
|
Range:
|
True, False
|
Determines whether or not a shared library will be created when a library is specified by the build policy. Note that a shared library is only created if this option is set and the build policy specifies that a library is to be created. This switch is valid for those targets that support the creation of shared libraries (Sun Solaris, HP-PA HP-UX, Digital UNIX, SGI Irix, Linux).
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Specifies whether or not debugging is enabled in the view. It also controls the -g switch.
Note: This switch does not support C/C++ development.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
.h .C
|
Range:
|
any file extensions
|
Use when an Apex object subclass has multiple extensions. (Currently, only the internal C++ development tools take advantage of this feature.)
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Create a file containing a listing of the elaboration order of the units in its closure when a main program is linked. Elaboration-order listings can be created only for main programs. Elaboration-order files are stored in the .Rational/Compilation subdirectory of the view and have the name foo.2.elab_order (Ada) or foo.elab_order (C/C++) for a main unit named foo.2.ada (Ada) or foo.c (C/C++).
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True, False
|
Control the handling of any statically determinable situation that is certain to raise an exception when executed, such as an out-of-bounds assignment. This switch is overridden by the REJECT_INEVITABLE_EXCEPTIONS switch. When REJECT_INEVITABLE_EXCEPTIONS is True, this switch has no effect. If REJECT_INEVITABLE_EXCEPTIONS is False and this switch is:
FLAG_INEVITABLE_EXCEPTIONS is not intended to cover all cases where exceptions will be raised unconditionally. It will cover the cases where the compiler, front-end analysis phase, as part of its normal processing, detects that some exception will be raised.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Cause pragma Interface to be ignored during semantic checking. This switch is only applicable to Ada views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True, False
|
Control the handling of invalid or unsupported representation specifications. Representation specifications are considered invalid if they do not conform to the restrictions specified in "LRM Appendix F: Implementation-Dependent Characteristics." When True, this switch overrides the IGNORE_UNSUPPORTED_REP_SPECS switch. In this case, both invalid and unsupported representation specifications are reported with warning messages in the output window and are otherwise ignored. When False, the treatment of invalid representation specifications depends on the setting of the IGNORE_UNSUPPORTED_REP_SPECS switch. This switch is only applicable to Ada views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Ignore representation specifications during semantic analysis. This switch is only applicable to Ada views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True, False
|
Control the handling of unsupported representation specifications. This switch is overridden by the IGNORE_INVALID_REP_SPECS switch. When IGNORE_INVALID_REP_SPECS is True, this switch has no effect. If IIGNORE_INVALID_REP_SPECS is False and this switch is:
For most purposes, the IGNORE_INVALID_REP_SPECS switch and the IGNORE_UNSUPPORTED_REP_SPECS switch should have the same value.
This switch is only applicable to Ada views.
Area:
|
Compilation - AIX only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
Attempt to use incremental features of the platform linker.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
lib.a (C/C++) libname.a (Ada) |
Range:
|
|
For C/C++, specifies the name of the library that is created by appropriate build policies.
For Ada, this switch is meaningful only in the root view of a library in which the CREATE_ARCHIVED_LIBRARY switch is True. It specifies the name of the archive file. The default value is libname.a, where name is the simple name of the subsystem.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
Ada, C++
|
Specifies the languages in the closure. Only needed when the closure contains languages other than that of the main program. If an API contains any C++ code, any main program linked against the API must include a call to the _cinit_ routine to invoke the C++ static initializers. If the value of this option contains the substring "C++", such a call will be added. The API Builder sets this switch to C++ if there are any C views included in the command line. The API Builder can't actually tell the difference between C views and C++ views; the switch can be deleted when it is not actually necessary.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
combine
|
Range:
|
closure-policy
|
Specifies the way in which the closure of main programs is to be computed.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
dynamic_or_static
|
Range:
|
static, dynamic, dynamic_or_static
|
For C/C++, the link mode to use when the main program specified that the default for each closure view should be used. There are three link modes: static, dynamic, and dynamic_or_static.
For Ada, the LINK_CONTRIBUTION_DEFAULT_MODE switch provides view selective control over linking with/without shared libraries. This switch is only valid when the ADA_LINK_MODE switch in the Ada main program's view is "dynamic_or_static". A LINK_CONTRIBUTION_DEFAULT_MODE of "static" indicates that only object files are to be used from that view in a link process. Any shared library is to be ignored. If the LINK_CONTRIBUTION_DEFAULT_MODE is "dynamic", only the shared library in the view is to be used for a link. It is an error at link-time if the view cannot provide a shared library (that is, the view was compiled with CREATE_SHARED_LIBRARY set to False). A LINK_CONTRIBUTION_DEFAULT_MODE of "dynamic_or_static" specifies that the shared library is to be used if the view is a shared library view (CREATE_SHARED_LIBRARY= True) and the object files are to be used otherwise.
If the LINK_CONTRIBUTION_DEFAULT_MODE switch does not have a value in a view, the value defaults to "dynamic_or_static".
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
"<view>/<view'switch(library_name)>"
|
Range:
|
|
The name of the library that is included in the contribution for static link modes.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
|
Options that are included as part of the link contribution of the view whenever the view is part of the closure of a main program. These options follow the object file or library contribution of the view. This switch is only applicable to C++ views.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
|
Options that are included as part of the link contribution of the view whenever the view is part of the closure of a main program. These options precede the object file or library contribution of the view.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
"-L<view>-l<subsystem:t:r>"
|
Range:
|
|
The name of the library that is included in the contribution for dynamic link modes.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
|
Options that are included as part of the link contribution of the view for dynamic link modes whenever the view is part of the closure of a main program. These options follow the object file or library contribution of the view.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
|
Options that are included as part of the link contribution of the view for dynamic link modes whenever the view is part of the closure of a main program. These options precede the object file or library contribution of the view.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
subsystem pathname; subsystem pathname;...
|
Specifies additional dependencies to be considered during linking. Dependencies are specified as a list of subsystem names separated by semicolons. The subsystems listed are treated as though import relationship existed from the current view to views of the listed subsystems. This allows representation of link dependencies that are not necessarily compilation dependencies (such as between two views that contain different external libraries but no source).
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
|
Specifies options that are passed to make whenever it is invoked as part of the execution of a command. This switch is only applicable to C++ views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
|
Range:
|
|
The arguments to pass to the target linker. This can be used to specify object files and archive libraries for non-Ada program units that will be included when an Ada main program is linked. This switch is only applicable to Ada views.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True,False
|
Controls how the preprocessor handles direcvies when producing .ada files from .app files. If False, directives are converted to comments. If True, directives are deleted. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Integer
|
Option:
|
No
|
Default Value:
|
0
|
Range:
|
0 - 2
|
The optimization level to use for compiling. 0 is fastest compilation, 2 is best code. This switch also controls how much inlining is done: at level 0, no routines are inlined; at level 1, only those routines with an applied pragma Inline are candidates for inlining; at level 2, all routines declared within the current same compilation unit as the call site are candidates for inlining, in addition to those made available at level 1 with a pragma Inline.
Note that routines exported from a package spec can be inlined into client units only is a pragma Inline is used and that tail recursive calls are eliminated at level 2. Note also that candidate routines are not necessarily inlined. The OPTIMIZATION_OBJECTIVE switch controls when a candidate routine will actually be inlined.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
Time
|
Range:
|
Time, Space
|
The optimization objective, either Time or Space, to be used for any compilation unit that does not contain a pragma Optimize. Execution speed (Time) or code size (Space) are never completely ignored, but if this switch is set to Time, the compiler places greater emphasis on optimizing for speed, while the size of the code is of secondary importance. If it is set to Space, optimizations for speed that increase size are not done. If this switch is set to Space, the loop unrolling oefptimization (usually performed at level 2) is not performed,
This switch also controls when a candidate routine will actually be inlined. If Time is selected, the candidate routine is inlined if doing so may significantly reduce execution time. If Space is selected, the candidate routine is inlined only if doing so will not make the resulting code larger.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
No
|
Default Value:
|
" "
|
Range:
|
" ", None, Prof, Gprof
|
The type of profiling to use when preparing the code. Set this switch to "" to turn off profiling. For native compilers, both Gprof and Prof are valid settings. For embedded compilers, only Prof is recognized.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
|
Control the handling of illegal Ada pragmas. When True, illegal Ada pragmas are treated as errors, thus causing analysis of the units that contain them to fail. When False, illegal Ada pragmas are reported with warning messages in the output window and are otherwise ignored. This switch is only applicable to Ada views.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True, False
|
Control the handling of illegal Rational-defined pragmas. When True, illegal Rational pragmas are treated as errors, thus causing analysis of the units that contain them to fail. When False, illegal Rational pragmas are reported with warning messages in the output window and are otherwise ignored.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True, False
|
Control the handling of any statically determinable situation that is certain to raise an exception when executed, such as an out-of-bounds assignment. When True, this switch overrides the FLAG_INEVITABLE_EXCEPTIONS switch and inevitable exceptions are treated as errors, thus causing analysis of the units that contain them to fail.When False, the treatment of inevitable exceptions depends on the setting of the FLAG_INEVITABLE_EXCEPTIONS switch.
REJECT_INEVITABLE_EXCEPTIONS is not intended to cover all cases where exceptions will be raised unconditionally. It will cover the cases where the compiler, front-end analysis phase, as part of its normal processing, detects that some exception will be raised.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True, False
|
The compiler will allow you to code units that contain [statement] prompts. REJECT_STATEMENT_PROMPTS has been superceded by REJECT_PROMPTS.
Area:
|
Compilation, Editors
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
The editor and compiler should make syntactic corrections to the programs. When the value is False, corrections are made. When True, corrections are not made; you must make them.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
No
|
Default Value:
|
False
|
Range:
|
True, False
|
Control the handling of any pragmas not defined in the LRM or in the Ada Compiler Reference. When True, undefined pragmas are treated as errors, thus causing analysis of the units that contain them to fail. When False, undefined pragmas are reported with warning messages in the output window and are otherwise ignored. This switch is only applicable to Ada views.
Area:
|
Compilation, Rexec
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
|
Range:
|
Runtime archive
|
This switch identifies the runtime archive to be used by the compiler. Normally, the compiler chooses one of four runtime archives based on the contents of the user's program. This switch allows the user to override the choice made by the compiler. By contrast, the RUNTIMES switch specifies the directory in which to look for the runtime archives. There are several archives but only the principal archive can be overriden using the RUNTIMES_ARCHIVE switch.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
" "
|
Range:
|
|
Options that are passed to the assembler whenever a user assembly (.s) file is processed.
Area:
|
Compilation
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
"lib<subsystem:t:r>.so"
|
Range:
|
Shared library name
|
Specifies the name of the shared library in the view.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
Boolean
|
Option:
|
Yes
|
Default Value:
|
False
|
Range:
|
True, False
|
When a non-Apex compiler is being used to generate object files in a view (that is, when the CPP_COMPILER_VARIANT is not set to "apex" and the CPP_COMPILER_HOME names a non-Apex compiler), it is still possible to generate Sienna to assist in navigation. Sienna generation is enabled by this switch. The SIENNA_HOME and SIENNA_OPTIONS switches are also used in this situation.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
""
|
Range:
|
pathname
|
When a non-Apex compiler is being used to generate object files in a view (i.e., when the CPP_COMPILER_VARIANT is not set to "apex" and the CPP_COMPILER_HOME names a non-Apex compiler), it is still possible to generate Sienna to assist in navigation. The SIENNA_HOME switch indicates the pathname of the Apex C++ compiler which will be invoked for Sienna generation. The SIENNA and SIENNA_OPTIONS switches are also used in this situation.
Area:
|
Compilation - C/C++ only
|
Switch Kind:
|
Context
|
Type:
|
string
|
Option:
|
Yes
|
Default Value:
|
""
|
Range:
|
option list
|
When a non-Apex compiler is being used to generate object files in a view (i.e., when the CPP_COMPILER_VARIANT is not set to "apex" and the CPP_COMPILER_HOME names a non-Apex compiler), it is still possible to generate Sienna to assist in navigation. The SIENNA_OPTIONS switch designates the options which will be passed to the Apex C++ compiler for Sienna generation but which will not be passed to the non-Apex compiler when object files are generated The SIENNA and SIENNA_HOME switches are also used in this situation.
Area:
|
Compilation - Ada only
|
Switch Kind:
|
Context
|
Type:
|
String
|
Option:
|
Yes
|
Default Value:
|
Null String
|
Range:
|
|
The intent is that every subsystem in the known universe have a unique value for the SUBYSTEM_NAME switch. By convention, the subsystem switch has a value such as "asis.rational.com". The value of the switch should end in an Internet domain name. The portion of the name that precedes the domain name should be managed by a scheme prescribed by the named organization to guarantee uniqueness. See the Ada Compiler Reference for more details.
Copyright © 1993-2002, Rational Software Corporation. All rights reserved.