- Oct 20, 1990
- Oct 19, 1990
-
-
wlott authored
-
- Oct 18, 1990
-
-
ram authored
and directly call the C interface stub (which can be inline expanded.) Also, generalized the rational-constant/float compare to work for any constant that has a precise single-float representation, not just for 0.
-
- Oct 17, 1990
-
-
ram authored
since we count on these being a local call (we never make an XEP.)
-
ram authored
have a NLX into them top-level.
-
ram authored
with top-level lambdas that aren't in :TOP-LEVEL components.
-
ram authored
reference if the function doesn't yet have any LEAF-INFO.
-
ram authored
components.
-
ram authored
a forward reference. Also, in REPLACE-TOP-LEVEL-XEPS, don't gag on top-level lambdas that aren't in top-level components.
-
ram authored
both normal XEPs and top-level lambdas. In addition to being included in the normal components list, these components are also returned as a list in the third value.
-
ram authored
creation when there is a forward reference across components. Also, changed many defaults to (REQUIRED-ARGUMENT), which should gag some type warnings
-
ram authored
to be less obscure. Made it clear the SPECIFIER-TYPE cache so that subsequent references will be noticed as unknown. In DEFINE-DEFSTRUCT-NAME, quietly blow away any existing ACCESSOR-FOR. This is necessary now that we don't always undefine a structure before redefining it, but it may also help with some of the spurious undefining that was happening. Broke off redefinition hackery into CHECK-FOR-STRUCTURE-REDEFINITION. This function checks for incompatible redefinition, and only undefines the structure if the redefinition is incompatible.
-
ram authored
is empty as long as one of the types was NIL. Also, frobbed DEFUN handling, mainly in the use of ASSERT-DEFINITION-TYPE. We use the new arguments to implement redefinition notes. Also, we inhibit doing actual type assertion for all known functions to avoid defeating explicit argument type checking. Someday we might want to make this inhibition conditional on an IR1 attribute.
-
ram authored
declared types with definitions. Also, fixed some of the logical functions to say their arguments were integers, not T.
-
ram authored
of type NIL, and downgraded the message from lossage to slime. Spiffed up ASSERT-DEFINITION-TYPE in various ways. It now takes various arguments which provide additional control. In particular, the REALLY-ASSERT argument allows this function to be used to give function redefinition notes without applying bogus type assertions. Also, fixed optional and keyword handling to take into account the possibility that the default might legally not be of the type in the function type. If the default is constant, we union its type in, otherwise we write off type assertion for that argument. Fixed the result type intersection stuff not to gag on NIL assertions. Also, tweaked the formatting a bit to reduce wrapped lines, etc.
-
ram authored
tweaked output format a bit.
-
- Oct 15, 1990
-
-
wlott authored
the definition and not in the type. (This case only happens if there is an &key in the type, since otherwise we punt before them.)
-
ram authored
maintaining separate compiler structure info. When we change the included-by info, we copy the DD and included-by list so that the definition in the compiler lisp is not affected. At load or eval time, %DEFSTRUCT is now responsible for updating the included-by list for the defined-structure-info.
-
- Oct 14, 1990
- Oct 13, 1990
- Oct 12, 1990
-
-
wlott authored
and character to keep the deftype from complaining. #-new-compiler'ed the deftype of string-char.
-
wlott authored
-
ram authored
now-broken declarations; a top-level lambda may not be a CLAMBDA, it may be a :TOP-LEVEL-XEP functional.
-
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
-