- Oct 12, 1990
-
-
ram authored
We give a note if we see a function related thing for a SETF name that has a SETF macro as well. This NOTE-IF-SETF-FUNCTION-AND-MACRO also is used in ir1tran. Changed DEFINE-FUNCTION-NAME to call the above, and also to check for redefining a slot accessor or alien operator. Added UNDEFINE-FUNCTION-NAME. Added UNDEFINE-STRUCTURE, which uses the previous. Structures are undefined whenever we change a structure or its supertypes, or whenever we redefine an accessor as some other kind of function. This causes a warning. Changed DEFSTRUCT to make the accessors WHERE-FROM :DECLARED rather than :DEFINED, since the stronger claim seems reasonable. Made %%COMPILER-DEFSTRUCT flame if we try to define a primitive type and warn if we redefine a DEFTYPE.
-
ram authored
for THE.
-
ram authored
local call. Added stuff to put stuff in the DEBUG-SOURCE-INFO, the function in the case of DEFUN (so that FUNCTION-LAMBDA-EXPRESSION can work), and whatever is the :SOURCE-INFO argument to COMPILE-FROM-STREAM (for possible future clever editor hacks.)
-
ram authored
Changed LTN-ANNOTATE-RETURN to intersect the continuation asserted type with the union of non-tail uses (conditional on a non-null intersection.)
-
ram authored
conception of what UNSAFE means. Also, clarified that functions which are undefined on constant arguments (e.g. DELETE) are not FOLDABLE, even if they have no predictable side-effect.
-
ram authored
Added SUBSTITUTE-LEAF-IF. Changed *defmumble-take-car-forms* to *source-context- and made it use on all source context forms so that we can squelch (function (lambda....) Added FILE-NAME, FILE-POSITION and ORIGNAL-SOURCE-PATH slots to the COMPILER-ERROR-CONTEXT. Added hemlock compiler notification hooks. Changed *error-print-level* and *error-print-length* to go out to *print-level* and *print-length* when they are NIL. Added printing of the source file in PRINT-ERROR-MESSAGE.
-
- Oct 11, 1990
-
-
ram authored
Added *DERIVE-FUNCTION-TYPES* switch which can inhibit inter-routine type interence. Fixed some broken FTYPE proclamations that have been noticed now that the declarations are applied to the definition. Added the VALUES declaration for conveniently declaring the return values from a function (or any other form that has declarations.) Made the gensym introduced to hold the value before defaulting for hairy keyword args have a comprehensible name so that type errors are somewhat more informative. Also, if the keyword default isn't hairy, give the value temp the right type so that the type check is forced back into the XEP. Made FIND-FREE-FUNCTION note if a setf function is also a setf macro. Made REFERENCE-CONSTANT error if the constant isn't dumpable. Fixed THE to be correct, which required adding information into the LEXENV and having USE-CONTINUATION cooperate. Added doc strings for all the special forms that didn't have any. Ripped out most of the code in the %COMPILER-DEFSTRUCT translator now that most everything is done by %%COMPILER-DEFSTRUCT. Frobbed DEFMACRO to clobber any old function info with UNDEFINE-FUNCTION-NAME. Tweaked %DEFUN translator quite a bit. NOTINLINE declarations are now respected as forcing named call. Changed to use ASSERT-DEFINITION-TYPE to apply any FTYPE proclamation to the definition. Also, call CHECK-FREE-FUNCTION now if we can't enter the functional into *FREE-FUNCTIONS* for some reason. Made %DEFCONSTANT warn about redefining constant or specials. Also, made DEFCONSTANT always eval the form at compile time, as this is now allowed
-
ram authored
-
ram authored
see a definition, and some other minor tweaks.
-
ram authored
is :PRIMITIVE.
-
ram authored
the UNSAFE and FOLDABLE attributes, and flushed some of the old DERIVE-TYPE annotations that are now implemented with special case derive-type optimizers. Also finished the conversion of the list functions, so that the compiler knows which args are supposed to be lists, etc.
-
ram authored
for both :LISP and :STREAM.
-
ram authored
to a DEFUN.
-
ram authored
unknown values even though they are really fixed-values (and people might be depending on the check, like non-local RETURN-FROM.) Don't do an inline type check for the argument of a full call, even when we are "sure" that there is an error, since the user might want to fix the problem by redefining the callee, and not by changing the caller (or callers.) Spiffed up type error warnings to use the variable we are binding to as context when doing a local call. Also, instead of saying we "got NIL", we say we got an expression that didn't return. Changed type error checking to consistently flame about all losing uses of a continuation, instead of maybe only flaming about the first one, or even totally missing it if the first use we see is non-erroneous but hairy. Also, don't do type warnings on continuations with :DELETE TYPE-CHECK, since those are the result of hairy type checks.
-
ram authored
COMPILER-ERROR at this late date. Anyway, we should never run into these errors anway, since IR1tran now picks off bad constants. I reenabled i-vector byte-swapping. There was never any reason to disable it, since the use of TYPED-VREF was only in the direct copy case.
-
- Oct 10, 1990
- Oct 09, 1990
- Oct 08, 1990
-
-
ram authored
since it isn't really installed yet.
-
- Oct 06, 1990
-
-
ram authored
-
ram authored
changed all the UNSIGNED-BYTE slots to be INDEX.
-
ram authored
-
ram authored
instead of just rationals, anticipating a possible change to float qualities. Changed OPTIMIZE to recognize EXT:INHIBIT-WARNINGS as the same as BREVITY. Changed DEBUG-INFO default to 2.
-
ram authored
internal error point, or to mark the unrestored but live ones as spilled (when speed is 3.) Changed load TN spilling to mark the TN as spilled for the debug info.
-
ram authored
size, and also changed the type-info-default slot to always be a function.
-
ram authored
full calls.
-
ram authored
we don't do generic arithmetic
-
ram authored
test for whether to flame about the template.
-
ram authored
aren't really there. Also, added declarations and stuff to avoid generic arith. And fixed up the debug-info policy handling a bit so that this quality works reasonably as a local declaration.
-
- Oct 05, 1990
-
-
ram authored
Also, strengthened some global variable type declarations.
-
ram authored
deleting code which appeared in the original source.
-
ram authored
not a subtype of the asserted type, not just when the arg *value* is nota subtype. This is necessary to prevent representation selection from being defeated.
-
wlott authored
-
ram authored
-
ram authored
-
ram authored
intersects with the combination type, so that if we later discovered that there was no intersection we wouldn't flame.
-