VariablePackage: compilerToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
Unrevised from 6.1

declared-fixnums-remain-fixnums-switch

As with all compiler switch variables, the value of this variable can be t, nil, or a function object that accepts four arguments and returns t or nil. The arguments passed to the function will be the values of the safety, space, speed, and debug optimization qualities, in that order. nil is equivalent to a function that always returns nil and t to a function that always returns t. When we say t (or true) or nil (or false) in the text below, we mean that the function returns, respectively, t or nil.

If this switch is true, compiler will generate code that assumes the sum and difference of declared fixnums are fixnums. Initially true only if speed is 3 and safety is 0. Non-compliance note: having this switch be true is not compliant with ANSI Common Lisp, which requires that fixnum arithmetic work correctly is all cases. You may turn this switch off entries by evaluating:

(setf comp:declared-fixnums-remain-fixnums-switch nil)

Warning: if this switch returns true during compilation but the sum or difference of two declared fixnums is not a fixnum, the compiled code will silently produce erroneous results.

See Declared fixnums example.

See compiling.htm for information on the compiler.


Copyright (c) 1998-2002, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 6.2. This page was not revised from the 6.1 page.
Created 2002.2.26.

ToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
Unrevised from 6.1