Lassi Kortela
2dc4353604
Avoid compiler warning about mismatched printf types
...
Under Unix with SEXP_64_BIT defined, sexp_sint_t is defined as 'long'.
But we would get the equivalent format specifier SEXP_PRIdFIXNUM from
the OS-defined PRId64 in <inttypes.h>. MacOS defines it as "lld". This
causes the clang printf checker to emit a warning about the 'long' and
'long long' mismatch.
Fix by avoiding system-defined PRId32 and PRId64 format specifiers and
always defining SEXP_PRIdFIXNUM as "d", "ld" or "lld" according to our
definition of sexp_sint_t as int, long or long long. This also means
we don't need to include <inttypes.h> any more.
2019-04-24 12:26:01 +03:00
Alex Shinn
a94a2c7902
uvector fixes
2019-02-25 23:01:35 +08:00
Alex Shinn
9569460a58
add compile-time option to store precomputed index->cursor tables for strings
2019-01-26 05:35:27 +08:00
Alex Shinn
d24d75621d
fixing nofeature build
2019-01-16 08:33:04 +08:00
Alex Shinn
2b4394ea74
adding initial support for SRFI 160 uniform vectors
2019-01-15 23:43:50 +08:00
Alex Shinn
2c37dfedd3
Merge pull request #500 from mnieper/syntax-case
...
Implement syntax-case
2018-12-09 04:08:31 +08:00
Alex Shinn
9af77c9b4f
adding CHIBI_IGNORE_SYSTEM_PATH=1 env var (fixes issue #501 )
2018-12-06 00:54:21 +08:00
Marc Nieper-Wisskirchen
152b20f244
Implement syntax-case
2018-12-01 13:48:25 +01:00
Alex Shinn
0efa071672
use PRId64/32 where available for printing fixnums (issue #479 )
2018-06-29 22:44:16 +08:00
okuoku
432b763555
cmake: Use SEXP_64BIT on Win64
...
Do not override SEXP_64BIT on Win64 as now we have custom-long-long for
it.
2018-06-20 21:16:40 +09:00
Bertrand Augereau
952d7c806b
More portable bignums that don't have to rely on gcc 128bit arithmetics extension
...
SEXP_USE_CUSTOM_LONG_LONGS currently needs SEXP_64_BIT
2018-06-19 04:46:05 +02:00
Alex Shinn
9e4eb03fb4
only use ape/limits.h on plan9
2018-01-13 22:01:36 +09:00
joe9
b85201f81d
patch to compile on 9front
2018-01-12 19:26:17 -07:00
okuoku
1cba43a220
SRFI-151: Fix bit-set? on Win64 which uses long long
...
Most "1UL" references on bitwise operations should be replaced with
explicit C cast.
2017-12-14 18:03:23 +09:00
okuoku
e45f142b6a
sexp.h: chmod -x
2017-12-13 17:20:53 +09:00
okuoku
e092923aac
Win32: Fix win32 port
...
Try to fix win32 port. Now it runs both on Win32/Win64.
Win64 port currently depends on 128bits arithmetic thus it does not run on
MSVC.
Makefile now have EXCLUDE_POSIX_LIBS knob to exclude posix related library
from build.
Introduce msys PLATFORM for Makefile.detect to use MSYS's POSIX
emulation layer. It is intended for linking against MSYS tools; it is
not for embedding to Win32 applications.
2017-11-11 04:31:06 +09:00
Alex Shinn
d4e45dc260
avoid left shifts for string cursors
2017-10-06 22:40:28 +09:00
Alex Shinn
8f635161d6
#define _REENTRANT to enable lgamma_r from math.h
2017-08-29 22:58:55 +09:00
Alex Shinn
8a9d8c0979
don't arithmetic shift signed ints (fixed issue #425 )
2017-08-29 22:47:44 +09:00
Alex Shinn
d3c2306220
check bignum type before deref in sexp_[su]int_value (issue #410 )
2017-05-18 22:36:33 +09:00
Alex Shinn
260f55adec
Use a context global instead of a static C global for the default random source.
...
Fixes issue #385 .
2017-01-20 00:49:11 +09:00
Alex Shinn
0fa1179c2f
add -T option to disable TCO
2017-01-14 16:51:07 +09:00
Alex Shinn
0281c590f0
Don't use flexible array member syntax when compiling with C++.
...
Fixes issue #378 .
2016-10-27 21:29:13 +09:00
Jasu
0bb88f97ed
Remove a spurious semi-colon from the macro sexp_make_vector
2016-07-27 19:27:37 +03:00
Alex Shinn
08494037ea
making features a context global
2016-06-12 14:25:46 +09:00
Alex Shinn
bb636b9b83
PRIoff is also "%lld" for cygwin64 (issue #358 )
2016-06-08 07:22:09 +09:00
Alex Shinn
ab3f3ad3a0
PRIoff is also "%lld" for Win64. Fixes issue #358 .
2016-06-07 22:36:01 +09:00
Alex Shinn
8ac14b5f91
Fixing printing of x-0.0i (issue #352 ).
2016-06-06 22:18:47 +09:00
Alex Shinn
78e8a04dd6
Conditionally defining PRIoff for off_t printf.
...
Fixes issue #320 .
2016-04-09 20:09:57 +09:00
Alex Shinn
0c80f38a19
making string-cursors a disjoint type
2016-03-29 22:25:09 +09:00
Alex Shinn
207ae1f24e
making syntactic closure free variable handling agree with mit-scheme
2016-02-27 16:06:20 +09:00
Alex Shinn
11ad0c3e3d
fixing boehm build, excluding image code when not used
2016-02-20 23:49:28 +09:00
Chris Walsh
2005c19ea0
Added full support for packed images, both for static and dynamic libraries.
2016-02-15 21:12:58 -05:00
Alex Shinn
2c2ff588df
Smarter polling in blocked output without threads, enable polling in blocked input.
...
Fixes issue #295 .
2015-12-30 14:07:50 +09:00
Frère Jérôme
2f19dc69b1
Exclude socket.h on Windows (unless using Cygwin)
2015-11-19 09:55:23 +01:00
Alex Shinn
830b016276
removing declarations for sexp_display, now implemented in scheme
...
Fixes issue #275 .
2015-08-10 22:22:07 +09:00
Alex Shinn
1956e38ba0
adding set-syn type
2015-07-29 22:35:15 +09:00
Alex Shinn
bc262aa7ad
adding support for reader labels in core reader
2015-07-06 23:18:33 +09:00
Alex Shinn
42c14af4b9
removing support for SEXP_USE_STRING_STREAMS
2015-07-04 23:25:40 +09:00
Alex Shinn
49505b4849
adding count to gc timer
2015-06-27 20:43:43 +09:00
Alex Shinn
3fe810c86a
Fixing weak references.
2015-06-20 23:03:44 +09:00
Alex Shinn
f5326fafc3
adding heap-sizes to check distribution of chunk sizes in heap
2015-06-15 21:04:25 +09:00
Alex Shinn
950312f13b
adding optional tracking of gc time
2015-06-14 23:03:19 +09:00
Alex Shinn
b4c7a7081d
Don't bother resetting weak references if none have been allocated.
2015-06-14 16:58:48 +09:00
Alex Shinn
6db194171e
Adding option to disable automatic running of finalizers altogether.
2015-06-14 16:19:55 +09:00
Alex Shinn
f0ee48fc4c
Fixing type slot specifications. Report from ilammy in issue #235 .
...
- SEXP_STACK had an off by one sexp_type_field_len_base past the top of stack
- SEXP_EXCEPTION claimed 6 slots but only 5 were present
- sexp_type_struct should have had "dl" slot at end
2015-06-03 21:42:57 +09:00
Alex Shinn
607d70c6a0
When directly incrementing or aligning bytecode pos during code generation,
...
ensure there is enough space just as when emitting.
2015-05-12 23:03:48 +09:00
Alex Shinn
24a880ad28
Adding fixed-size heaps as an experimental compile-time option.
2015-04-25 22:24:56 +09:00
Alex Shinn
11cb17835b
Adding sexp_int32_t definition. Fixing SRFI 27 bug on 32 bit machines.
...
Fixing the random-integer range to allow all results with a bignum bound.
2015-04-25 13:01:16 +09:00
ilammy
a6ca2e39dc
chibi.crypto: move sexp_uintN_t typedefs to <sexp.h>
...
First we check for C99 support in Makefile.detect, looking for the
header we need and verifying whether it is the right one by using
a definition required by C99 standard to be present in that header.
uintN_t types are optional, but implementations are required to
provide corresponding limit #defines for the types they support,
so we can check for this with preprocessor only.
Finally, we define SEXP_UINTN_DEFINED for any sexp_uintN_t we have
so that the code can use #ifs to check for exact integer support.
2015-04-19 16:01:11 +03:00