Marius Gerbershagen
b94c2f5fe6
contrib: sockets: add missing include
...
Needed by gai_strerror. Fixes #533 .
2019-12-07 21:47:10 +01:00
Daniel Kochmański
cb269ce407
tests: run-program: add some conditionals for cygwin
2019-12-05 12:01:07 +01:00
Daniel Kochmański
02038d66da
complex-float: move functions to externa.h
...
si_complex_float_p and si_complex_float are referenced in tests, to
allow clean compilation put them in externa.h.
2019-12-04 18:03:53 +01:00
Daniel Kochmański
0a7056da5f
ecl_min: symbols list: fix si::complex-float function name
...
Symbols must be associated with functions following an uniform naming
scheme because si:mangle-name does not return pre-existing string.
See #534 for details. This is a temporary solution.
2019-12-04 17:52:16 +01:00
Marius Gerbershagen
556ad56a09
Merge branch 'fix-sockets-cxx' into 'develop'
...
sockets: recvfrom: cast sockaddr_in* to sockaddr* explicitly
See merge request embeddable-common-lisp/ecl!169
2019-12-01 10:14:59 +00:00
Daniel Kochmański
de073ef274
sockets: recvfrom: cast sockaddr_in* to sockaddr* explicitly
...
Apparently CXX compiler needs this. Steps to reproduce the issue:
./configure --with-cxx && make
With this fix the problem is gone.
2019-11-25 15:40:28 +01:00
Daniel Kochmański
b14dd94821
Merge branch 'thijso/ecl-pr-fix-get-host-by-name' into develop
2019-11-22 08:36:02 +01:00
thijs
5747fddee9
contrib: get-host-by-name: use getaddrinfo instead of gethostbyname
...
- this improvement was suggested before in the comment
- fix print-object for descriptors which are not bound
2019-11-22 08:28:25 +01:00
Marius Gerbershagen
b067063c94
cmp: prevent inline information from getting lost while compiling ECL itself
...
C inline information is saved in +default-machine+, which was
previously a constant. However, the value assigned to
+default-machine+ is recomputed during load and compile
time. Technically, assigning a constant a new value which is not eql
to the old one is undefined behaviour in the ANSI standard. What ECL
did was simply to reassign the constant when compiling
cmpc-machine.lsp. However, this meant that the inline information
which was added to +default-machine+ when loading sysfun.lsp was
lost. Thus, all ECL source files compiled after cmpc-machine.lsp were
compiled without inline information. We prevent this by using an
ordinary variable *default-machine* instead of a constant.
2019-11-17 19:58:53 +01:00
Marius Gerbershagen
51b68e8b2a
contrib: cl-simd: fix def-inline macro
...
Fixes #527 .
2019-11-16 20:10:56 +01:00
Daniel Kochmański
714c8e7ed6
Merge branch 'cas-symbol' into 'develop'
...
Minor improvements to atomic operations
Closes #460
See merge request embeddable-common-lisp/ecl!165
2019-11-02 17:47:04 +00:00
Marius Gerbershagen
7b388fa00d
threading: make atomics work directly on special variables
...
Allowing e.g. (atomic-incf *foo*) instead of
requiring (atomic-incf (symbol-value '*foo*)) makes the interface
easier to use and more consistent with sbcl.
2019-10-31 19:42:51 +01:00
Daniel Kochmański
ee18c5fbdb
Merge branch 'pr-fix-make-array-docs' into 'develop'
...
Fix a couple of minor mixups in the docs
See merge request embeddable-common-lisp/ecl!166
2019-10-30 07:07:51 +00:00
Marius Gerbershagen
12fedc5fe3
multiprocessing: create atomic structure slot accessors by default
...
Previously we were only creating atomic accessors when explicitely
told so, which is problematic for compatibility reasons, since it
requires compatibility libraries to define their own versions of
defstruct just for ECL. This change is backwards compatible.
2019-10-26 20:05:06 +02:00
thijs
cdc83658ad
fix docs
2019-10-25 18:13:47 +02:00
Marius Gerbershagen
6ade6d4491
numbers: fix several bugs in the expt function
...
-expt of an integer and rational lead to a wrong type error in
ecl_expt_float
-type contagion of (expt 0 +y) did not work properly
-there were several useless type checks in places where previous
function calls already ensured that objects were numbers
Fixes #526 .
2019-09-29 16:43:39 +02:00
Marius Gerbershagen
a08f26cc27
Merge branch 'fix-socket-receive-to-return-remote-addr' of https://gitlab.com/thijso/ecl into develop
2019-09-02 21:52:13 +02:00
Marius Gerbershagen
bcf1c3bba7
Merge branch 'fix-udp-socket-receive' into 'develop'
...
Fix socket-receive to match the documentation; set MSG_TRUNC when socket type is :datagram
See merge request embeddable-common-lisp/ecl!162
2019-09-02 19:46:07 +00:00
thijs
98afe7cbd0
Fix socket-receive to match the documentation; return the address of the peer that sent a message
2019-08-31 16:28:16 +02:00
thijs
87a2076384
Fix socket-receive to match the documentation; set MSG_TRUNC when socket type is :datagram
2019-08-31 16:20:28 +02:00
Daniel Kochmański
b96d28a4f8
Merge branch 'fix-476' into 'develop'
...
Fix 476
Closes #476
See merge request embeddable-common-lisp/ecl!161
2019-08-26 06:15:51 +00:00
Marius Gerbershagen
574a90a7c3
multithreading: close windows thread handle before releasing exit_barrier in thread_cleanup
...
Fixes out of memory errors when creating lots of threads on windows,
joining them and then again creating many threads (see e.g. the
atomic-incf/decf tests).
2019-08-25 21:04:29 +02:00
Marius Gerbershagen
0080acd4ce
multithreading: fix spinlock in ecl_wait_on_timed
...
process.woken_up was not set to nil before calling condition. This could
lead to threads not waiting correctly on barriers and consequently to
mp:process-join returning earlier than it should.
2019-08-25 21:03:55 +02:00
Marius Gerbershagen
14a94c2b0e
run-program: fix :error :output on windows
...
The file descriptor for the error output in the parent process was
set to the wrong value.
2019-08-25 21:03:54 +02:00
Marius Gerbershagen
24c93e1537
run-program: fix null stream input/output on windows
...
The nul file on windows can't be opened with O_TRUNC flag.
2019-08-25 21:03:53 +02:00
Marius Gerbershagen
bd9c590810
ieee-fp: remove _fpreset from si_trap_fpe
...
This is not needed since windows includes feclearexcept.
Furthermore, it leads to segmentation faults in the ieee-fp tests.
2019-08-25 21:03:53 +02:00
Marius Gerbershagen
5ea9cdf8a4
tests: fix some failing tests on windows
2019-08-25 21:03:38 +02:00
Marius Gerbershagen
25d8bf63ef
cmp: fix linker-cc for msvc
...
linker-cc for other compilers includes the libpath in the linker
options, therefore for consistency we need it here too.
2019-08-20 19:52:25 +02:00
Marius Gerbershagen
2003b7f999
streams: don't return 0 in file-column if column can't be determined
...
Instead we return an invalid value (-1 for ecl_file_column and nil for
si_file_column). All users of these functions already deal correctly with
invalid values.
Fixes #309 .
2019-08-20 15:36:56 +02:00
Marius Gerbershagen
1d0abc9c43
numlib: remove unneeded workaround for msvc
2019-08-20 14:41:53 +02:00
Marius Gerbershagen
2b3f7bb1fd
numlib: fix return value of signum for complex zero
2019-08-19 20:26:10 +02:00
Marius Gerbershagen
c1c68bb4fe
bytecmp: fix return value of multiple-value-bind with no variable bindings and no body
...
Statements such as (multiple-value-bind () :foo) returned :foo instead
of nil (see the multiple-value-bind.11-13 tests in the ansi-test
suite).
2019-08-19 19:46:27 +02:00
Marius Gerbershagen
c38739f3bb
format: fix addition of fill style newlines in ~< ... ~:@> directive
...
Only add fill style newline for blanks that don't follow a ~ newline
directive (see the format.logical-block.23 test in the ansi-test
suite).
2019-08-19 18:07:13 +02:00
Marius Gerbershagen
31f079eb80
pretty-printer: fix *print-circle* for arrays and vectors
...
The previous implementation did not respect *print-circle*.
Fixes #476 .
2019-08-18 19:34:22 +02:00
Marius Gerbershagen
693ce14130
printer: remove redundancies between pretty and ordinary printer
2019-08-18 19:31:58 +02:00
Daniel Kochmański
df339485eb
Merge branch 'infinity-NaN-numeric-functions' into 'develop'
...
Make all numeric functions return sensible values for infinity/NaN
Closes #477
See merge request embeddable-common-lisp/ecl!160
2019-08-16 18:52:23 +00:00
Daniel Kochmański
8b82c98cac
Merge branch 'alt-fix-513' into 'develop'
...
Fix 513 2nd try
Closes #514
See merge request embeddable-common-lisp/ecl!159
2019-08-16 18:44:23 +00:00
Marius Gerbershagen
e385abb213
ieee-fp: document the behaviour of numeric functions for infinity/NaN
2019-08-14 21:46:39 +02:00
Marius Gerbershagen
3c2105fe3d
ieee-fp: add tests for numeric functions with infinity/NaN
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
57db4c813c
complex-float: use CMPLX for constructing complex floats
...
Works better for edge cases such as x + I*∞, which otherwise would
lead to a complex with NaN real part.
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
327da031cd
ieee-fp: fix asin/acos/asinh/acosh/atanh for NaN
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
ac19a3f0a9
ieee-fp: fix round function for NaN
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
fa28f08770
ieee-fp: fix ext:float-{infinity/nan}-p
...
ext:float-infinity-p returned true for NaNs and ext:float-nan-p was
slower than necessary.
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
5c7aecc15f
ieee-fp: fix min/max for NaN
...
As for the C functions fmin/fmax, we ignore NaNs
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
a597fd5379
eql: fix NaN comparison
...
Old approach doesn't work reliably on x86_64. See e.g.
> (eql (+ ext:double-float-negative-infinity ext:double-float-positive-infinity) (ext:nan))
NIL
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
046c6b9f32
number_compare.d: fix number comparison for NaN
...
All comparisons with NaN should return NIL for consistency with the
IEEE standard.
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
d9a105dabc
numlib.lsp: make signum return proper values for infinity/NaN
2019-08-14 20:51:40 +02:00
Marius Gerbershagen
2cbe875668
dffi: fix bug in converting to :cstring's
...
We used the next argument instead of the current one. Bug identified
and fixed by Christoph Buck.
Fixes #523 .
2019-08-06 20:14:10 +02:00
Marius Gerbershagen
61e799074d
cmp: fix type propagation for / with one argument
...
Fixes #522 .
2019-08-06 19:38:47 +02:00
Marius Gerbershagen
5859593b82
Merge branch 'develop' into 'develop'
...
buildsystem: remove unnecessary nodefaultlib linker flags(msvc)
See merge request embeddable-common-lisp/ecl!157
2019-08-06 16:48:31 +00:00