ecl/src/cmp
Marius Gerbershagen 69e9e1d46c cmp: fix inlining of functions with mutually dependent keyword arguments
If we inline a function which contains keyword arguments whose default
value depends on the presence of other keyword arguments as for
example in

(funcall (lambda (&key (a nil a-p) (b a-p)) ...))

where `b` depends on the presence of `a`, we need to set the
key-flag `a-p` immediately after scanning for the keyword and not at
the end after we have finished scanning all keywords as we did previously.
2021-03-04 20:19:36 +01:00
..
cmparray.lsp cmp: some cleanup changes 2018-02-10 17:51:53 +01:00
cmpbind.lsp cmp: all baboon have now error message 2018-02-05 18:11:35 +01:00
cmpblock.lsp cmp: add blocks around ecl_frs_push in generated C code 2018-03-27 18:49:23 +02:00
cmpc-inliner.lsp long-float: remove conditionalization 2019-05-24 21:04:59 +00:00
cmpc-machine.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpc-wt.lsp cmp: add explicit type suffixes for emitted integer constants in C code 2020-03-07 22:26:44 +01:00
cmpcall.lsp cmp: small refactor of (funcall/apply (lambda ...) ...) handling 2020-07-18 15:07:04 +02:00
cmpcatch.lsp Revert "cmp: execute cleanup forms of unwind-protect with interrupts disabled" 2018-09-04 17:53:30 +02:00
cmpcbk.lsp cmp: cmpc-machine: cosmetic: put tables in columns 2019-12-16 10:20:47 +01:00
cmpclos.lsp The ECL code no longer uses tabulator characters, they were replaced 2015-09-03 07:35:47 -04:00
cmpct.lsp cmp: prevent inline information from getting lost while compiling ECL itself 2019-11-17 19:58:53 +01:00
cmpdefs.lsp Makefile.in: be explicit with directories 2016-10-21 10:06:49 +02:00
cmpenv-api.lsp cmp: fix compile call for closures 2018-06-23 21:37:26 +02:00
cmpenv-declaim.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpenv-declare.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpenv-fun.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpenv-proclaim.lsp cmp: make behaviour of declaim inline more sensible 2018-10-28 16:32:55 +01:00
cmpeval.lsp cmp: fix inlining of local closures (2nd try) 2020-07-18 15:07:04 +02:00
cmpexit.lsp complex float: add compiler optimizations and ffi definitions 2019-05-15 16:35:16 +02:00
cmpffi.lsp cmpffi: produce-inline-loc: do not return uninitialized variable 2019-05-15 16:35:16 +02:00
cmpflet.lsp cmp: fix bug in inlining local functions which are closures 2021-01-16 16:12:13 +01:00
cmpform.lsp cmp: all baboon have now error message 2018-02-05 18:11:35 +01:00
cmpfun.lsp cmp: small refactor of (funcall/apply (lambda ...) ...) handling 2020-07-18 15:07:04 +02:00
cmpglobals.lsp cmp: remove redundant information in *{permanent/temporary}-objects* 2021-02-13 20:22:46 +01:00
cmpif.lsp cmp: add a few c-local declarations 2017-04-28 11:15:21 +02:00
cmpinline.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmplam.lsp cmp: fix inlining of functions with mutually dependent keyword arguments 2021-03-04 20:19:36 +01:00
cmplet.lsp cmp: refactor c1let/let* into two stages 2020-07-18 15:07:04 +02:00
cmploc.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpmac.lsp cmp: add a few c-local declarations 2017-04-28 11:15:21 +02:00
cmpmain.lsp cmp: add support for precompiled header files 2020-05-16 18:53:57 +02:00
cmpmap.lsp cmp: fix evaluation order bugs in compiler macros 2020-03-21 11:44:01 +01:00
cmpmulti.lsp cmp: fix multiple-value-setq for special variables 2020-05-28 21:23:54 +02:00
cmpname.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpnum.lsp cmp: fix type propagation for atan function 2021-03-04 19:54:20 +01:00
cmpopt-bits.lsp The ECL code no longer uses tabulator characters, they were replaced 2015-09-03 07:35:47 -04:00
cmpopt-clos.lsp cmp: refactor: cosmetic cmpopt-clos fixes 2017-04-28 11:24:47 +02:00
cmpopt-cons.lsp cmp: refactor: qualify package of *-prop interface 2017-04-28 11:48:15 +02:00
cmpopt-constant.lsp cmp: refactor: qualify package of *-prop interface 2017-04-28 11:48:15 +02:00
cmpopt-printer.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpopt-sequence.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpopt-type.lsp The ECL code no longer uses tabulator characters, they were replaced 2015-09-03 07:35:47 -04:00
cmpopt.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpos-features.lsp cmp: read msvc output in using the correct encoding 2020-08-02 10:55:25 +02:00
cmpos-run.lsp cmp: read msvc output in using the correct encoding 2020-08-02 10:55:25 +02:00
cmppackage.lsp Unify compilation environment markers 2018-02-15 12:44:49 +01:00
cmppolicy.lsp newcmp: remove obsolete newcmp package 2016-03-11 16:06:45 +01:00
cmpprop.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmpspecial.lsp cmp: for LAMBDA use an associated function-block-name 2020-06-15 12:34:10 +02:00
cmpstack.lsp cmp: cleanup: remove bogus constant 2017-04-28 11:51:29 +02:00
cmpstructures.lsp cmp: refactor: qualify package of *-prop interface 2017-04-28 11:48:15 +02:00
cmptables.lsp complex float: add compiler optimizations and ffi definitions 2019-05-15 16:35:16 +02:00
cmptag.lsp cmp: add blocks around ecl_frs_push in generated C code 2018-03-27 18:49:23 +02:00
cmptop.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmptype-arith.lsp newcmp: remove obsolete newcmp package 2016-03-11 16:06:45 +01:00
cmptype-assert.lsp cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
cmptype-prop.lsp newcmp: remove obsolete newcmp package 2016-03-11 16:06:45 +01:00
cmptype.lsp long-float: remove conditionalization 2019-05-24 21:04:59 +00:00
cmptypes.lsp Major cleanup for environment mark interpretation 2018-02-10 20:21:11 +01:00
cmputil.lsp clos: don't call make-load-form in the code walker for defmethod 2020-09-18 21:22:32 +02:00
cmpvar.lsp cmp: fix progv for return during evaluation of symbol and value arguments 2021-01-02 16:38:21 +01:00
cmpwt.lsp cmp: store all objects created with make-load-form in the permanent storage 2021-02-14 19:23:12 +01:00
defsys.lsp.in The ECL code no longer uses tabulator characters, they were replaced 2015-09-03 07:35:47 -04:00
load.lsp.in cmp: collect-lines: move function to cmputil 2017-07-21 10:45:13 +02:00
notes.org cmp: improve notes 2019-12-08 11:05:15 +01:00
proclamations.lsp cosmetic: cmp: proclamations: add missing periods 2020-06-15 12:34:10 +02:00
sysfun.lsp internals: rename instance.sig to instance.slotds 2020-04-19 17:04:42 +02:00