Safe Optimization Warning Messages

If optimized compilation is on and the compiler finds a condition that forbids a certain level of optimization, it issues a warning message. For example, if the function fishlips cannot be linked because the compiler found two definitions for the function, you'll see:

;*** WARNING: Cannot LINK fishlips;
 Two DEFUNs found. 
See Another DEFUN

Right-click on a warning message to open a shortcut menu. In addition to displaying symbol commands, the menu allows you to view the source code associated with the message. Double-click on the highlighted message to show the source code. To browse all source files related to the compiler messages, press F11 repeatedly, or press SHIFT + F11 to return to the first message.

Each line of the previous warning message guides you to a different code segment. For example:

; *** WARNING: Cannot LINK fishlips

shows the function call that could not be linked.

; Two DEFUNs found

shows the first defun found for function fishlips.

; See Another DEFUN

shows the second defun found for function fishlips.

When the compiler works in Safe Optimization mode and finds a problem condition, the warning starts with:

; *** WARNING: Safe: Cannot …

If Safe Optimization is off, but message mode is set to Full report, the same warnings are prefixed by:

; *** WARNING: Dangerous …

If you disable Safe Optimize mode, these problematic conditions result in compiler warnings.