Commit graph

7559 commits

Author SHA1 Message Date
Daniel Kochmański
6bb08c2d81 Merge branch 'fix-disassemble' into 'develop'
Fix #106

Closes #106

See merge request embeddable-common-lisp/ecl!127
2018-11-25 08:10:11 +00:00
Marius Gerbershagen
e7fe000400 doc: update outdated information and examples in the developers guide 2018-11-24 22:00:29 +01:00
Marius Gerbershagen
61650f8e1f doc: fix documentation for si:*keep-definitions*
The variable is set to t by default.
2018-11-24 19:35:31 +01:00
Marius Gerbershagen
9f4a5d4dd4 disassemble: display generated C source code instead of bytecodes
This behaviour makes more sense, since the ANSI standard mandates
    that disassemble should compile an interpreted function before
    displaying the output (our own documentation even says so).

    Also fixes disassemble for closures.
2018-11-24 19:20:06 +01:00
Marius Gerbershagen
71babf1f99 cmp: prevent spurious error when the compile function fails 2018-11-24 17:58:30 +01:00
Marius Gerbershagen
abf33455f6 cmp: intern compiler data symbols into the correct package
The io-syntax forced all symbols except those in the COMMON-LISP
    package to be written with a package prefix. However the symbols
    could be read when the current package was shadowing symbols in
    the COMMON-LISP package, leading to incorrectly interned symbols.

    Problem reported by Gunter Königsmann on the ecl-devel mailing
    list.
2018-11-13 22:33:16 +01:00
Daniel Kochmański
48a011cf22 Merge branch 'develop' into 'develop'
fix header argument names for C++ compilation

See merge request embeddable-common-lisp/ecl!126
2018-11-02 10:04:12 +00:00
Exaybachay
5d4069e1fa fix header argument names for C++ compilation
fix the macro body
2018-11-02 17:31:55 +08:00
Exaybachay
bea1413ccf Revert "fix header argument names for C++ compilation"
This reverts commit 878ec343a0.
2018-11-02 17:28:17 +08:00
Exaybachay
878ec343a0 fix header argument names for C++ compilation 2018-11-02 17:16:02 +08:00
Exaybachay
eaea424f7c Revert "fix header argument names for C++ compilation"
This reverts commit 1ab9f00744.
2018-11-02 17:09:56 +08:00
Exaybachay
1ab9f00744 fix header argument names for C++ compilation 2018-11-02 13:32:35 +08:00
Exaybachay
d125ad2fac Merge remote-tracking branch 'upstream/develop' into develop 2018-11-01 16:16:18 +08:00
Marius Gerbershagen
ba573abf9e defstruct: don't use eval in define-structure 2018-10-30 11:58:19 +01:00
Yuguo Zhang
26eb34f16a Merge remote-tracking branch 'upstream/develop' into develop 2018-10-30 08:53:40 +08:00
Marius Gerbershagen
e3cda73965 Merge branch 'develop' into 'develop'
Fix ECL_LINEFEED_MODE test with -Werror=format-security

See merge request embeddable-common-lisp/ecl!124
2018-10-29 19:40:33 +01:00
Sébastien Villemot
2ef5d11cf9 Fix ECL_LINEFEED_MODE test with -Werror=format-security
In Debian, the -Werror=format-security flag is now passed by default to gcc.
This makes the ECL_LINEFEED_MODE test fail.

The fix is to replace the call to fprintf() by fputs().
2018-10-29 19:38:17 +01:00
Marius Gerbershagen
8a1e7f5c92 cmp: don't mark all lexical variables as crossing function boundaries
The compiler refactor of commit
    7ec2f4a939 introduced an error where
    all lexical variables where marked to cross function boundaries,
    leading them to be stored in volatile variables on the stack.
2018-10-29 19:15:49 +01:00
Yuguo Zhang
e3943cb88b Merge remote-tracking branch 'upstream/develop' into develop 2018-10-29 08:52:56 +08:00
Marius Gerbershagen
57a0346a52 doc: document behaviour of declaim and proclaim 2018-10-28 16:32:55 +01:00
Marius Gerbershagen
892e21012a cmp: make behaviour of declaim inline more sensible
ECL needs the definition of a function to inline it. Previously,
    this definition would only be saved in the file local environment
    (*cmp-env-root*) but not in the global environment used by
    proclaim. Hence, ECL could only inline functions in the same file.
    Now, we also put the definition of inline functions in the global
    environment during load time. This leads to a behaviour of declaim
    for inline functions, which is consistent with other declarations
    (meaning that the declarations stay only in force during
    compilation, but are proclaimed again at load time of the compiled
    file).
    Fixes #451.
2018-10-28 16:32:55 +01:00
Marius Gerbershagen
8812ba2189 doc: fix various typos and remove use of legacy names in examples 2018-10-26 17:54:08 +02:00
Marius Gerbershagen
cd86ac5019 doc: use category name for @defvar 2018-10-23 21:14:50 +02:00
Marius Gerbershagen
3df0a69785 doc: document floating point exceptions and infinity/NaN 2018-10-23 21:12:46 +02:00
Marius Gerbershagen
2a9084b105 prevent floating point exception signals if ECL_OPT_TRAP_SIGFPE is false
Fixes #347.
2018-10-23 21:11:02 +02:00
Yuguo Zhang
612f73a7b6 Merge remote-tracking branch 'upstream/develop' into develop 2018-10-18 09:47:34 +08:00
Marius Gerbershagen
7ff23cbb92 cmp: fix inline definition for mp:lock-count 2018-10-17 22:07:53 +02:00
Marius Gerbershagen
8676abe519 cmp: add proclamations for multithreading functions 2018-10-17 22:07:19 +02:00
Marius Gerbershagen
8ad10cec50 doc: fix some typos and errors in the multithreading documentation 2018-10-17 21:52:19 +02:00
Exaybachay
8c37117fcc Merge remote-tracking branch 'upstream/develop' into develop 2018-10-16 08:45:54 +08:00
Daniel Kochmański
4021fbdcf8 Merge branch 'atomic-ops' into 'develop'
Add support for atomic operations

Closes #278

See merge request embeddable-common-lisp/ecl!122
2018-10-15 19:23:52 +00:00
Marius Gerbershagen
46d74c5a66 cosmetic changes in assignment.d and clos/instance.d 2018-10-15 19:55:39 +02:00
Marius Gerbershagen
c45098e17a doc: add documentation for atomic operations 2018-10-15 19:55:39 +02:00
Marius Gerbershagen
239a2aa4f1 threading: add support for atomic operations
We support both compare-and-swap and fetch-and-add (via
    atomic-incf/decf) on the most common places and define an
    extension interface for compare-and-swap similiar to the one in
    SBCL.

    These changes introduce new dependencies on the libatomic_ops
    macros AO_fetch_compare_and_swap and AO_fetch_and_add.
2018-10-15 19:55:39 +02:00
Yuguo Zhang
a1c5d01868 Merge branch 'develop' of https://gitlab.com/Exaybachay/ecl into develop 2018-10-07 10:34:31 +08:00
Marius Gerbershagen
7272aff008 Merge branch 'stream-fixes' into 'develop'
ansi: file-string-length and broadcast-stream fies

Closes #452

See merge request embeddable-common-lisp/ecl!121
2018-10-01 19:12:41 +00:00
Daniel Kochmanski
b22dcd5e3e file-string-length: revert behavior change for string-output-stream.
We signal an error if the stream is not a file stream (like before). We provide
note in the tests that this is an undefined behavior.
2018-10-01 20:46:50 +02:00
Daniel Kochmanski
30c4120b15 tests: improve ansi.21-2.last-component test 2018-09-23 17:27:55 +02:00
Daniel Kochmanski
23753207aa defpackage: standard mandates error if :SIZE is passed twice
While we do ignore it for all practical purposes it is explicitly said in
standard that we should signal error. Also :SIZE  is not an extension (but may
be not used since it is just a hint).
2018-09-23 17:26:32 +02:00
Daniel Kochmański
c9ea2b151d Merge branch 'develop' into 'develop'
build system: suppress some logo(copyright) information for msvc toolchains.

See merge request embeddable-common-lisp/ecl!120
2018-09-23 13:41:22 +00:00
ZhangYuguo
5eeae0d823 build system: suppress some logo(copyright) information for msvc toolchains. 2018-09-23 13:41:22 +00:00
Daniel Kochmanski
a1875da85a ansi: return NIL for file-string-length if can't determine it.
Previously we returned error for streams which are not file streams. We could
try to loose this test for ECL_ANSI_STREAM_P, but that would require confirming,
that all ECL's ANSI streams have string encoders defined.
2018-09-23 15:28:34 +02:00
Daniel Kochmanski
e10802b5e8 broadcast-stream: delegate file-* functions to the last component.
Fixes #452.
2018-09-23 15:28:34 +02:00
Daniel Kochmanski
3f8a78ca63 tests: add regression test for broadcast stream and file-* functions 2018-09-23 15:28:34 +02:00
Yuguo Zhang
81de340982 Merge remote-tracking branch 'upstream/develop' into develop 2018-09-19 08:47:04 +08:00
Marius Gerbershagen
a19cf59cd6 re-add lost CHANGELOG entry
somehow the entry got deleted by commit 703771fc3d
2018-09-18 21:02:27 +02:00
Marius Gerbershagen
02b501e5a6 doc: fix typos and errors in ffi documentation 2018-09-18 19:59:40 +02:00
Marius Gerbershagen
2192e63e59 ffi: protect with-foreign-string and with-foreign-object against interrupts 2018-09-18 18:47:01 +02:00
Marius Gerbershagen
a34b6d0ca4 threading: proctect with-rwlock against interrupts 2018-09-18 18:45:41 +02:00
Yuguo Zhang
bdfbee0fb8 build system: suppress some logo(copyright) information for msvc toolchains. 2018-09-18 12:07:49 +08:00