When
Safe Optimization is in effect, the VLISP compiler ignores an optimization
option if it determines that adhering to the option may induce an error
condition. The following list identifies the conditions under which
an option is ignored:
- Link
-
If
the compiler encounters the following situations while Safe Optimize
is on, it ignores any related Link directive:
- A symbol
is bound as a parameter anywhere in the project.
- A symbol
is bound as an auxiliary variable and referenced by value anywhere
in the project.
- A symbol
is explicitly assigned somewhere (by setq).
- Drop
-
If
the compiler encounters a symbol referenced by value, it ignores
any Drop directive for the symbol.
- Localize
-
If
the compiler encounters the following situations while safe optimize
is on, it ignores the Localize directive or the corresponding variable:
- A variable
has a non-local reference or assignment to it within the project.
- A
variable is called by name.