Commit graph

140 commits

Author SHA1 Message Date
Kris Katterjohn
f32def466b Avoid undefined C macro behavior
A C macro expanding to a `defined' has undefined behavior.  The
clang compiler was issuing warnings.
2018-07-29 19:58:37 -05: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
Jim Rees
b25e46b11b Introduced a second version of sexp_double_to_ratio, named
sexp_double_to_ratio_2, which converts without introducing
round-off errors the way sexp_double_to_ratio does when it
multiplies by 10.

Changed sexp_inexact_to_exact to use this new function when
a non-zero fractional part of the input exists.
2018-03-22 22:19:39 -04: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
7693881125 sexp.c: Use strncasecmp instead of strcasestr
strcasestr is not available on MS C runtime. Use strncasecmp instead
which is in POSIX. MS C runtime has _strnicmp().
2017-11-18 15:24:28 +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
eeb4beb571 adding alignment detection for sparc and mips 2017-08-29 23:07:50 +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
700380ebe4 don't expand into defined (issue #423) 2017-07-09 08:07:19 +09:00
Alex Shinn
da410523b0 fixing peek-char on non-ascii chars 2017-06-26 22:23:38 +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
383c6cba62 fixing off-by-one error in arithmetic-shift 2017-05-08 23:49:55 +09:00
VermillionAzure
b955dc2698 Arranged definitions to prevent double definition
- It is possible to define `strcasecmp` and
  `strncasecmp` twice if `__MINGW32__` is defined.
  However, the same definition is used if it's not.
  Therefore, I just moved it inside of the "if-defined"
  case. It removes the errors pertaining to that header.

- Additional compilation errors related to the filesystem
  implementation and POSIX definitions of constants still
  are brought up when compiling on Windows 10, MSYS2-mingw-w64
  with gcc.
2017-03-06 00:11:25 -10:00
Alex Shinn
e1d58eb84a adding SHUT_{RD,WR} from mkeeter 2017-02-20 22:14:15 +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
c953f2ed1d Check the module search path to handle relocated shared libraries
when loading an image.  Fixes issue #345.
2016-06-15 22:50:30 +09: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
eed963381c allow loading images from offsets 2016-03-13 09:08:41 +09:00
Alex Shinn
524179388d making image save/load functions public 2016-03-08 23:13:16 +09:00
Alex Shinn
fb24b831b8 fix reading circular refs inside vectors 2016-03-04 23:41:16 +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
Frère Jérôme
584f74dbd9 Handle missing strcasestr() in MinGW 2015-11-19 09:37:37 +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