Commit Graph

875 Commits

Author SHA1 Message Date
Matthew Flatt
c38194c0ca adjust build for BSDs, MinGW cross-compile, and more configuration
Includes joint work with @abmclin, @pmatos, and @jessealama.

original commit: 70559d074f70dcadec5cea3619f75f91fcda77eb
2019-07-03 18:54:04 -06:00
Alexander B. McLin
dcffbe1d8b Change make to $(MAKE) so it works more reliably on FreeBSD
and other platforms using non-GNU make systems.

original commit: 281a2b3ae12c13f15c14c2ba8968d40c28caacbf
2019-07-02 11:30:59 -06:00
Alexander B. McLin
6a56c06b1d change update-revision to use #!/bin/sh
Previously it was using #!/bin/bash as its interpreter. It is not
compatible with FreeBSD because bash is not installed by default.

The update-revision script is #!/bin/sh compatible and there are
other examples of #!/bin/sh scripts in the codebase so the change
is consistent with them.

original commit: 0ad188cdbd618b369e7fe6d2b9446251fe92e891
2019-07-02 11:30:59 -06:00
Paulo Matos
a3f325bbea mark functions that never return as NORETURN
original commit: 6377313ecb063273b573139c9e91de263e191e60
2019-07-02 11:30:59 -06:00
Matthew Flatt
91ba34b886 fix open-string-input-port on immutable strings
original commit: 58663d92a353969e3b27de2e1a44df571036e1b2
2019-07-02 13:17:39 -04:00
Matthew Flatt
98381f0206 Merge branch 'strport' of github.com:mflatt/ChezScheme
original commit: 4ae71d2bac241154aad565a6006454fb394fc9fb
2019-07-01 16:56:05 -06:00
Matthew Flatt
7974eac7dc Merge github.com:cisco/ChezScheme
original commit: d9c77749cc1901a9f5fabb4d78055675f5333be3
2019-07-01 16:55:14 -06:00
Matthew Flatt
5053fbb98d fix open-string-input-port on immutable strings
original commit: 48b0ace8b6fba756d8573698db4244472c64255f
2019-07-01 16:44:45 -06:00
Matthew Flatt
5f92ffa3c4 improve asin acos on +inf.0 and -inf.0
Avoid tripping into +nan.0 by using 0 instead of 0.0
for the imaginary part of a real number and by using
`atan` with two arguments instead of one.

original commit: e3f499adfbcbe94726fe11869ca23176fa2c3b78
2019-06-28 15:58:17 -06:00
Matthew Flatt
d31368fc09 improve expt on exact non-integer second argument
Correct the case that converting the second argument to an inexact
numbe produces an integer by losing precision.

original commit: 467db7fa1f1d068e9bad250b93044d157cd3806d
2019-06-28 14:33:18 -06:00
Matthew Flatt
35a0dfcafe improve precision of complex-number divide
original commit: 4c9a7f6abb1258158d48fcdb656de300902cf3c7
2019-06-28 10:42:57 -06:00
Matthew Flatt
57c997042e repair for make-object-finder with threads
The `(cdr tc-ptr-offsets)` in the recrusrion was wrong, but use
`thread->objects` and `thread->stack-objects` to work more generally.

original commit: fd620699dc620d3d1a522800a7dfaff6cc0393bb
2019-06-26 12:32:02 -06:00
Matthew Flatt
dd0fe4ac40 unbreak MSVC build
Move `NORETURN` of 2e3a618b00 to start of function declaration, where
it works for both GCC and MSVC.

original commit: 10fc4a2406ecd34fa686d9d643ee63d7c12d6f97
2019-06-23 05:57:53 -06:00
Matthew Flatt
9f1fe73797 change build to use archives instead of merging objects
Merging ".o" files to one "kernel.o" can be convenient for further
linking, but it requires running `ld` directly. Running `ld` directly
sometimes runs into a mismatch between the C compiler and the default
`ld`. It's better to use the more typical approach of collecting
objects into an archive.

original commit: 7d5b60c7566570655e567495d86d546101cf8fb4
2019-06-21 18:53:33 -06:00
Matthew Flatt
a043c4b3a8 mark functions that never return as NORETURN
@pmatos did all the work here in racket/ChezScheme#8 and
racket/racket#2344.

original commit: 2e3a618b0072d547b6c5abe6dd8dbac36a98c10e
2019-06-21 14:26:01 -06:00
Matthew Flatt
1116287328 adjust sqrt and log on -0.0
original commit: 098fdb7d197bda4cd1ecc9b68407ee72fcce9311
2019-06-21 12:48:42 -06:00
Matthew Flatt
e11d9c846e fix flround on [-0.5, 0.0)
original commit: 9679b21d99477a077b226bc279a6d68ebbd7ce5b
2019-06-21 12:26:00 -06:00
Matthew Flatt
8479c4bebf print positive flonum exponents with "+"
original commit: bcf4dd26d268e25a89f24edc4ae7c75c97411c6d
2019-06-21 12:19:59 -06:00
Gustavo Massaccesi
d56e01edc9 rename who -> maybe-who
original commit: d03334caa7cfe429b5ea0d4ed245524fcf787cab
2019-06-20 12:33:51 -03:00
Gustavo Massaccesi
9c36f8dc3d make true flag automatic
original commit: a88ae6cec82e428a37827b12c0886dfc76569067
2019-06-20 12:33:51 -03:00
Gustavo Massaccesi
2a20927ac2 use more specific signatures to imply true
original commit: 7d1ad70840d85912ff08cb2d3ec0c685fc134661
2019-06-20 12:33:50 -03:00
Gustavo Massaccesi
85ef2ef788 use signatures with eof/something
original commit: 9785012847db7e6bae35ce9cef83559ca8ae7632
2019-06-18 17:49:18 -03:00
Gustavo Massaccesi
109cece609 fix signatures with errors
original commit: c9296345301d84c2708f0f45e1884bef7070e393
2019-06-18 17:49:18 -03:00
Matthew Flatt
034927b44f add eq-hashtable-try-atomic-cell
original commit: 8af6533643eaaa1b22f5724c52b6b26f4a81d7c4
2019-06-16 10:35:31 -06:00
dyb
399e0fa924 adopted latest tspl hidx and idx files, which reflect a similar but
different fix for extra make-record-type-descriptor index entry

original commit: 6c4e0a5fd7c5d99690935ad04239406188977425
2019-06-13 15:17:08 -07:00
Matthew Flatt
e8bd9b83cd repair {Free,Open,Net}BSD build
Use OSSP UUID on {Free,Open}BSD and native UUID on NetBSD.

Building on OpenBSD requires a filesystem mounted with wxneeded.

original commit: e964d7d01a6d115e469c01626896b683d421d599
2019-06-11 09:34:09 -06:00
Matthew Flatt
6a8b48bd72 repair some safeongoodargs in "primdata.ss"
@gus-massa's adjustments to the Racket test suite exposed more places
where the "primdata.ss" spec was wrong.

original commit: 5cb4996c7b317307299e8dd55a25e8e58144a30e
2019-06-10 10:26:55 -06:00
Gustavo Massaccesi
2089562e73 fix flag in signature of inexact->exact
It fails when the argument is +inf.0, so it's not possible to make it unsafe
automatically when the argument is a number.

original commit: 4d31d65b0e685adca7c01973cf7f30e716356a6b
2019-06-07 23:44:06 -03:00
Matthew Flatt
81191397b5 Merge github.com:cisco/ChezScheme
original commit: bb65f1a8e429683e2925cf1678145efe0ade59bb
2019-06-07 08:56:14 -06:00
Paulo Matos
af63b73bad Update shift left that might cause ub
A few shift lefts cause ub because of `(1 << n)` where `n` is 31. 
The constant 1 is signed causing ub. Initially my fix was to do `(1U << n)` however, I have seen the pattern `((U32)1 << n)` elsewhere in the file so decided to follow this.

Caught by ubsan racketcs.
original commit: a902c9ab67010f521f786e2027d4e197d78975a4
2019-06-06 08:57:25 -06:00
Matthew Flatt
a0fea7f0a8 Merge pull request #6 from pmatos/patch-4
Make variables unsigned to avoid ub in calculation
original commit: 2c404b7232555b405027819fd1841cefe5322180
2019-06-06 08:56:48 -06:00
Paulo Matos
4988a45c06 Make variables unsigned to avoid ub in calculation
According to ubsan we get several times into undefined behaviour due to signed overflow:
foreign.c:91:21: runtime error: signed integer overflow: 3291370622602663862 * 3 cannot be represented in type 'long int'

This happens only when the symbol name is relatively large like as for the call:
symhash (s=0x5555558caab8 "(cs)set_enable_object_backreferences")
original commit: 1e1c91869443d8a22beeebfcbe6fa14f9c3e2a6e
2019-06-05 22:49:55 +02:00
Steven Watson
21c7dd839d Added support for building chez with VS2019. (#435)
added support for Microsoft Visual Studio 2019 on Windows
original commit: 549b4468b619a9377332509472a4346ac223b5ae
2019-06-04 16:37:57 -04:00
Gustavo Massaccesi
6a353c5a0e make bootfiles in travis-ci
original commit: af7ea3bab08aa0d64b4b06373a0d9d9be320fd0f
2019-06-02 09:03:09 -03:00
Gustavo Massaccesi
40d33fc72e make test for relop-length more sensitive
5_2.ms

original commit: b34695bb3faa28c3e55d65cc659f6a9f2c3b1547
2019-05-24 10:33:52 -04:00
Gustavo Massaccesi
3c53b8b940 small fix in relop-length to enable the optimization
original commit: 587e0f4c01bf6bc187fc4e829fba9cc8ca7c38dd
2019-05-23 14:34:54 -04:00
Matthew Flatt
6cd6071c3a update test case for number->string changes
Should have been part of 1976cd57b6.

original commit: a48f3525d764938cfc1a343d810b5f0f0b14dbbb
2019-05-22 13:41:50 -06:00
Matthew Flatt
2cf27c4727 Merge github.com:cisco/ChezScheme
original commit: 8118200e237d756f83be54e8bf3eabb4af2388ed
2019-05-22 10:46:59 -06:00
gus-massa
58ee63722a Fix signatures of $file-options and friends (#429)
They were defined inside a block with the `proc` flag, but they are `enum-set`s.
  primdata.ss
original commit: 3fce8333e3856573292b97b9a2d47827216f9097
2019-05-22 10:52:24 -04:00
Taekyung
e9feda26f8 Correct typo in description of case macro
original commit: b9ad8fc8db91218fcf81044af84ddc0773b221b5
2019-05-22 10:42:41 -04:00
Matthew Flatt
0de9e0808b suppress "|" precision indicator when printing flonums
I'm not sure why precision is shown when `print-precision` is set to
0.5e-323.

original commit: 1976cd57b6981c3c5a559943763190855ca6ab21
2019-05-18 10:21:45 -04:00
Bob Burger
17f0052f45 Fix #79: make-record-type-descriptor appears twice in the index
original commit: 23833c7d0194248143af425dd22e34a760e81505
2019-05-06 15:17:51 -04:00
Bob Burger
62ddec8b4b fixed typo & improved wording
original commit: ecb540fec3b3933040a4f8ee98929ae289f4e22d
2019-05-02 15:29:16 -04:00
Bob Burger
62907754b4 fix multiply of -2^30 to itself on 64-bit platforms
original commit: 566c7a98ec4e070a26450781ffc2b9054860e4ed
2019-05-02 15:19:58 -04:00
Matthew Flatt
40ced8629e repair multiply of (- (expt 2 30)) to itself
On a 64-bit platform, the test for "short" arguments to
avoid overflow was incorrect, because `(- (expt 2 30))`
counted as short.

original commit: 6d05b70e86987c0e7a07f221ba5def492300aaaf
2019-05-01 09:20:35 -06:00
Matthew Flatt
8ec5457627 sync expected test output
original commit: 10a95153007ff5ae850b65b686705bb23be349d8
2019-04-27 06:01:10 -05:00
Matthew Flatt
c069bbf219 adjust compute-size-increments test for interpreter
original commit: 7b64c7701664d11cd5ab6a777dc0993456513c82
2019-04-26 22:37:06 -05:00
Matthew Flatt
a585c64390 adjust object-backreferences test for interpreter
original commit: 5a80683a60189b096e2edc6c45afdbc0e49e97c3
2019-04-26 22:36:55 -05:00
Gustavo Massaccesi
25cfadaeec fix check of size of make-phantom-bytevector in 32 bits
original commit: d44ab30993fdf085566ecd71b0f7db9a50eb0cc5
2019-04-25 12:46:15 -03:00
Gustavo Massaccesi
67f15c1d99 fix get-initial-thread signature
original commit: d0e11950a4bcd00b24c69408164a78bbdbfddc46
2019-04-25 12:46:14 -03:00