Commit graph

5598 commits

Author SHA1 Message Date
Daniel Kochmański
c8d3836f56 infinity: add regression tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:09 +02:00
Daniel Kochmański
a461f561df internal.h: fake ISO C99 INFINITY and NAN if not defined
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:09 +02:00
Daniel Kochmański
899f51106e cmpc: when infinity is used, emit macro "INFINITY"
and "-INFINITY" for negative infinity. These corner-cases lead to
compilation error, so no regression will be imposed even against
non-c99 compilers.

INFINITY and NAN macros are introduced by C99 standard, so such code
requires C-backend to support this math extension. Fixes #156.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:08 +02:00
Daniel Kochmański
0d25eccfb8 regression: add back removed interfaces
Adds back ecl_import_current_thread and ecl_release_current_thread.
Closes #8.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:29:08 +02:00
Daniel Kochmański
aaa62d4a24 format: float: use prin1 when passed NaN or infinity
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 08:58:27 +02:00
Daniel Kochmański
ac6a446af8 style: fix broken modeline
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 06:45:50 +02:00
Matthew Mondor
385b8d04a8 Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop 2015-09-03 16:18:01 -04:00
Matthew Mondor
4f89d66d41 Fix some fallout from the script to correct/add Emacs and ViM syntax
directives.  Some files had more than one existing Emacs directives,
breaking the script which didn't expect this.
2015-09-03 16:16:12 -04:00
Daniel Kochmański
faf26ab48a cosmetic: bdwgc: remove autom4te.cache
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 21:48:21 +02:00
Daniel Kochmański
c80e3cad11 Merge branch 'style' into 'develop'
"style" temporary branch

The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.

See merge request !8
2015-09-03 18:07:04 +00:00
Matthew Mondor
8f07cd58d8 The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
527be2a017 printer: coerce float infinity more roboustly
Basically use C function instead of a generic Lisp one.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 08:47:00 +02:00
Daniel Kochmański
d15c42d2a1 printer: float infinity/nan: coerce printed form to base-string
CLOS printer uses normal strings while float_to_string.d calls
push_base_string to cache printable form of infinity (and nan). Coerce
clos strings to base-string. Fixes #153. Related to #114.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 08:12:08 +02:00
Daniel Kochmański
9720adf0c0 tests: add stress tests submitted by James M. Lawrence
This suite needs integration and tweaking to avoid infinite loop.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 21:29:30 +02:00
Daniel Kochmański
ee2cab9c6e Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop 2015-09-02 15:59:35 +02:00
Daniel Kochmański
5f702cf071 gmp: issue autoreconf -ivf (fixes ppc64le builds)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 15:59:18 +02:00
Philipp Marek
98faa3c60c Merge branch 'cleanup-testing' into 'develop'
Cleanup testing

Separated tests from auxiliary tools, merged tests into files corresponding to interface (aspects are separated with ^L, navigable with C-x [ and C-x ]), renamed "bugs" to "regressions" - what these tests really are.

TODO (in indefinete future):
- some tests have auxiliary functions, these should be moved to auxiliary/ directory and loaded from there, so test files contain only tests

- add back ansi-tests suite as git subtree (to keep in sync with upstream on demand)

- add mop-features suite (subtree)

- modify deftest macro to "remember" file, from which test was load and report that back

- keep test suites / interfaces in separate packages

- make running tests possible without installing ECL (not tests thing though, rather buildsystem)

See merge request !7
2015-09-02 10:22:45 +00:00
Daniel Kochmański
dc89946ae5 tests: rename 'bugs' to 'regressions'
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 10:51:51 +02:00
Daniel Kochmański
0ca316c2f4 Merge branch 'develop' into cleanup-testing 2015-09-02 10:38:54 +02:00
Daniel Kochmański
6b0ccedf08 tests: fix remaing things
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 10:36:27 +02:00
Daniel Kochmański
ee77d6a1a9 tests: adjust files
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 09:33:16 +02:00
Daniel Kochmański
1d8fb039fa tests: Move tests to separate directory
Don't keep them in same directory as aux tools

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 09:22:24 +02:00
Zack Piper
00521d869a Untabify everything. 2015-09-01 20:10:10 +00:00
Daniel Kochmański
8b24477fda tests: rename ffi and emb tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 18:13:53 +02:00
Daniel Kochmański
37bebe172e tests: merge reported bugs and mixed regressions
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 18:11:55 +02:00
Daniel Kochmański
1b39e1fcf5 tests: merge compiler tests to compiler.lsp (missing files)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 18:03:27 +02:00
Daniel Kochmański
a36d40d863 tests: merge compiler tests to compiler.lsp
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 17:32:03 +02:00
Daniel Kochmański
1173538d85 tests: merge sourceforge reports to reported-bugs
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 17:19:41 +02:00
Daniel Kochmański
2609765524 tests: merge multiprocessing tests (a few left)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 17:08:14 +02:00
Daniel Kochmański
5da6743f3f tests: merge multiprocessing tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 16:54:46 +02:00
Daniel Kochmański
0188e5559c tests: merge metaobject protocol tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 16:42:11 +02:00
Daniel Kochmański
dc1abbb23c tests: add regression test for #s reader
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 16:34:25 +02:00
Daniel Kochmański
1ed1a45fb2 sharp-s-reader: read should be invoked recursively
Patch provided by drmeister. Test case:

(defstruct foo a)
(read-from-string
 "(#1=\"Hello\" #S(FOO :A #1#))"))

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 15:07:06 +02:00
Daniel Kochmański
d1503ed767 tests: merge external-format tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 14:57:23 +02:00
Matthew Mondor
414af2ada2 Avoid constant value 32-bit rollback for 64-bit/4GB heap 2015-08-30 22:59:43 -04:00
Matthew Mondor
fb09755db4 FIXNUM_BITS -> ECL_FIXNUM_BITS consistently, second try 2015-08-30 16:35:14 -04:00
Daniel Kochmański
1f567c8055 cosmetic: change label name from ERR to ERROR
First netbsd patch is partly applied (we have dragonfly platform), but
it drops solaris 10 support which we don't. Second is cosmetic and
applied right now. Fixes #144.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-29 20:37:42 +02:00
Daniel Kochmański
d077473517 changelog: check for GC_get_thr_restart_signal only on threaded build
ECL checked for GC_get_thr_restart_signal even if was built without
threads. This function is present in boehm only when it's build with
threads, but we don't need this functionality for single-threaded
builds. Fixes #146.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-29 20:25:31 +02:00
Daniel Kochmański
a94a5c2e1e Merge branch 'master' into develop 2015-08-28 13:17:07 +02:00
Matthew Mondor
5517fa5631 Change *FEATURES* name :NEW to :WAKLER (clos/walk.lsp) after
discussion
2015-08-27 04:46:28 -04:00
Matthew Mondor
5e43ec8789 Implement a few non-blocking MP functions:
MP:TRY-GET-SEMAPHORE
   returns NIL if the semaphore could not be obtained, or the count
   if it could be obtained

 MP:MAILBOX-TRY-READ
   returns a message if it's available, NIL if the queue is empty

 MP:MAILBOX-TRY-SEND
   returns the sent message if it could be queued, or NIL
   (mailbox is full)
2015-08-26 12:31:19 -04:00
Matthew Mondor
c4e3e849a1 Implement MP:WITH-RWLOCK 2015-08-26 09:51:34 -04:00
Matthew Mondor
b0e7937f45 - Dynamically bind the condition as well in the debugger, not only
the message (the condition object holds important data which can be
   used programmatically).
 - Raise some *PRINT-LENGTH* limits in the debugger.  Having a limit
   is wise, but when it is too short the debugger can be rather
   useless.  Use 16 instead of the previous 2 or 4.
2015-08-26 09:36:38 -04:00
Daniel Kochmański
98fc12d3a6 config.lsp: implement uname stub for ecl-min
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-24 08:41:27 +02:00
Daniel Kochmański
c051af5a97 readme: fix top-level README (move to src/doc/debugging)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-23 12:56:57 +02:00
Daniel Kochmański
871d61dbeb doc: Update internal doc wrt floats
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-23 12:32:11 +02:00
Daniel Kochmański
e2e6e5304e cosmetic: doc typo and declaration
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-22 19:06:00 +02:00
Daniel Kochmański
8639aa14d1 rc: update library version number
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-21 20:19:09 +02:00
Daniel Kochmański
62a1ba74a4 interpreter: initialize stack objects
It's state machine, so its uncertain if reg0 is used uninitialized.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-21 20:07:14 +02:00
Daniel Kochmański
2f869e6eb6 windows: when using msvc, don't handle interrupts
Installed spawning process was broken and unimportant. ECL ignores C-c
interrupt and passes forward all the others when build with
msvc. Fixes #8.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-21 19:43:27 +02:00