Fixed typo in the code that compiles a coercion from a Lisp integer to an unsigned long (M. Cox)
Removed the "-w" option from compiler-cc so that it works with clang.
In src/cmp/cmptype.lsp, the optional type check is omitted when the argument is a constant value of the right type.
(LDB (BYTE ...) ...) does not cons a BYTE object, even if the arguments of BYTE have unknown types.
Added optimizer for LDB-TEST
Rewrite LDB and friends in a way which can be reused by the compiler macros in src/cmp/cmpopt-bits.lsp
LDB can be inlined whenever the argument begins with (BYTE ...)
Inline (LDB-TEST (BYTE ...) ...)
Compiler macro for MASK-FIELD
Simplified the inliners for ldb, ldb-test and mask-field introducing a new macro that introduces the type checks and optimizes out constant values.
Added optimizers for DPB and DEPOSIT-FIELD, and fixed WITH-LET*-TYPE-CHECK.
Slightly better setf-expander for LDB and MASK-FIELD in cmpopt-bits.lsp
C1COMPILER-TYPECASE now handles constant values as well as variables.
CONSTANT-VALUE-P and friends now use the (compiler) environment.
CONSTANT-EXPRESSION-P now checks whether the 1-form is pure before checking the arguments.
CONSTANTP now performs a bit more work, macroexpanding forms.
In the compiler LET transforms constant variables (tagged by :READ-ONLY) that take constant forms into SYMBOL-MACROLET
No optional type check generated for constant values.
Suppress compiler warnings when running the ANSI tests
Split CONSTANTP into two functions CONSTANTP-INNER + CONSTANT-FORM-VALUE that can be overwritten by the compiler