Commit Graph

42440 Commits

Author SHA1 Message Date
Matthew Flatt
e311eed538 increase core-tests timeout
Relevant to #2961
2019-12-11 15:08:14 -07:00
Matthew Flatt
f858bec12a skip <xlocale.h> on Linux
It's not available with musl, either, musl intentionally
doesn't provide a preprocessor test, and we're avoiding
(for now) `configure`-time tests in the style of autoconf.

original commit: a9bfb72027fc83ed6bb690d033bc6fed0629dba7
2019-12-11 14:41:07 -07:00
Matthew Flatt
843824c94e build with musl
Skip libunwind support for musl-based Linux environments, and avoid
`__FLOAT_BITS`, etc., in xform.
2019-12-11 14:32:56 -07:00
Fred Fu
4405ed669f add struct-type-property-predicate-procedure? 2019-12-10 10:01:11 -07:00
Paulo Matos
56afa77a2a
On Linux build with clang as well (#2959)
We build on Linux with clang and gcc, but test only the gcc-compiled version. 
On macos we only build with clang.
2019-12-10 17:55:56 +01:00
Julien Delplanque
2e56976dab Fixed small typo. 2019-12-10 06:09:32 -07:00
Paulo Matos
529c0e93a8
Correct which racket is built for CS bootstrap (#2952) 2019-12-10 09:17:43 +01:00
Matthew Flatt
01a40286c2 propagate CC and CPPFLAGS to ZLib and LZ4 builds
original commit: cbb7c5f21a879ee90293c3abf99d344c4fc42b7f
2019-12-09 08:34:50 -07:00
Matthew Flatt
a319b7e073 cs: wake up main thread blocked on fsemaphore
If a future posts to an fsemaphore that the main thread is waiting on
but went to sleep, then be sure to wake up the main thread.

Relevant to #2957
2019-12-09 07:18:16 -07:00
Matthew Flatt
6db1bdda1b cs: fix touch on a future blocked on a fsemaphore
Relevant to #2957
2019-12-09 06:25:39 -07:00
Ben Greenman
8e884089a2
doc: pidefterm -> deftech (#2956)
Use `deftech` for "structure subtype" so that Typed Racket can more
easily reference it
2019-12-08 17:55:26 -05:00
Gustavo Massaccesi
b8508e5170 Alternative version of enable-type-recovery
Don't run cptypes, when cp0 is disabled, for example with
(run-cp0 (lamba (cp0 x) x)

This is easier to understand because run-cp0 is a single point to control
all the cp reductions. The reductions in cptypes can be independently disable
using enable-type-recovery.

original commit: b23645e669fbf02806a261a2d87160fdbe06db93
2019-12-08 11:41:15 -03:00
Matthew Flatt
db626bde3d schemify: don't copy uninterned symbols across module boundary
As pointed out by @gus-massa at racket/ChezScheme#15
2019-12-08 06:22:20 -07:00
Matthew Flatt
602c7b0331 avoid some GC tests on CGC
Relevant to #2954 #2955
2019-12-07 17:10:31 -07:00
Matthew Flatt
6e958d8339 net/sendurl: doc correction 2019-12-07 16:39:44 -07:00
Reuben Thomas
26e3651ef9 net-lib/net/sendurl.rkt: use same executable filtering on all systems
Use “cmd.exe” on Windows. This enables us to have a list (of length one on
macOS and Windows) of launcher executables on all platforms, and use
send-url/unix, now renamed to send-url/simple, to launch all URLs without a
query or fragment.
2019-12-07 16:38:38 -07:00
Reuben Thomas
a17c0fa0f8 net-lib/net/sendurl.rkt: use send-url/trampoline for all queries/fragments
Since we need send-url/trampoline for URLs containing a query or fragment in
the default case on all OSes, simplify the code and always use it for such
URLs.
2019-12-07 16:38:38 -07:00
Reuben Thomas
0680a2e2ee net-lib/net/sendurl.rkt: overhaul and simplify; support xdg-open on Unix
Unix: Cut down all-unix-browsers: add xdg-open, which is standard and can
launch applications for files instead of a browser, like the macOS and
Windows equivalents; remove defunct browsers galeon, camino, skipstone,
htmlview, and the rare dillo. Make opera use try-remote, which is identical
to the code it was using. xdg-open cannot handle queries or fragments in
URLs, so for this case factor out send-url/trampoline from send-url/win and
use it.

macOS: Remove try-to-find-macosx-users-browsers, and use “open” instead of
“osascript”; “open” uses the user’s configured browser. As before, it is
still possible to specify a particular browser.

Windows: Shorten and simplify the justification of the trampoline, which is
mostly out of date, though the trick is still needed.
2019-12-07 16:38:38 -07:00
Reuben Thomas
e4d43fa0dc net-lib/net/sendurl.rkt: remove systype function
XonX is defunct, so this function is no longer needed.
2019-12-07 16:38:38 -07:00
Gustavo Massaccesi
30beb65af3 add uninterned-symbols to cptypes
original commit: e85c19895bd47126a434364ae8007b6c40a87393
2019-12-07 16:59:23 -03:00
Gustavo Massaccesi
19819ef4bf don't copy propagate uninterned symbols in cp0 and cptypes
original commit: 9758171949520e9f97e54f1140ae14083b168a8e
2019-12-07 16:44:29 -03:00
Matthew Flatt
83ae4cd9a4 README.md: add a setence to describe Racket
Based on #2929 by @joshuafitzmorris
2019-12-07 11:22:20 -07:00
Matthew Flatt
965ea4ff2b increase timeout for "deterministic-zo.rkt" test
Racket CS needs more time.
2019-12-07 06:14:41 -07:00
Matthew Flatt
fc9ccb8e8f cs: unbreak boot file concatenation 2019-12-06 19:04:53 -07:00
Matthew Flatt
50e529364d fasl: move uptr continue bit from low to high
Use the high bit of a byte to continue instead of the low bit.
That way, ASCII strings look like themselves in uncompressed fasl
form.

original commit: 89a8d24cc051123a7b2b6818c5c4aef144d48797
2019-12-06 16:43:26 -07:00
Matthew Flatt
16f1ae7895 cs: add "repeats N more times" printing for error traces 2019-12-06 16:29:17 -07:00
Matthew Flatt
2e53a4c4ff schemify: deterministic order for some cross-inline info 2019-12-06 16:20:52 -07:00
Matthew Flatt
baab2b9974 cs: avoid full paths attached to functions
Source locations are attached to functions for backtraces. With
traditional Racket, those source locations are connected to the
machinery of `current-write-relative-directory` and
`current-load-relative-directory` to avoid absolute paths, but that
machinery is difficult to integrate into the Racket CS compilation
model. So, since they're "just" for stack traces, save only a couple
of elements of the path.
2019-12-06 16:20:52 -07:00
Matthew Flatt
4998cda524 fix version in Mf-install
original commit: 999a4fe636fde497a7b203132dee9d496bf64013
2019-12-05 20:11:22 -07:00
Matthew Flatt
f664483c05 docs: unbreak Reference 2019-12-05 17:31:23 -07:00
Matthew Flatt
a1567eb416 schemify: repair for JIT pass 2019-12-05 17:25:51 -07:00
Matthew Flatt
71072b7221 cpvalid: obey enable-error-source-expression
original commit: 45af7f62cfe9b0f77bb2c58e49c7543b9603458b
2019-12-05 16:41:47 -07:00
Matthew Flatt
d7052da691 schemify: more determinism for lifted procedures
A further repair to 6f919635da.
2019-12-05 15:56:32 -07:00
Matthew Flatt
898517107f schemify: purge all gensyms
Although some of them probbably do not matter (while some certainly
do), avoid various possible problems by always using a locally
determinsitic replacement for `gensym`.
2019-12-05 14:41:33 -07:00
Matthew Flatt
d5ab0fce05 schemify: avoid gensym for struct-type representation
A gensym can end up in known-value information, which makes compiled
files non-deterministic.
2019-12-05 09:37:39 -07:00
Matthew Flatt
4b61c87227 cp0: more reliably set accessor/mutator/predicate names
original commit: 17414888f010ea7407cd3663bec5f19e1e3e20d8
2019-12-05 09:16:03 -07:00
Matthew Flatt
f5e6ce4282 schemify: name raw accessor/mutators
Inferred names show up as part of the compiled code, so make sure
they're normalized instead of gensyms.
2019-12-05 08:46:15 -07:00
Matthew Flatt
6f919635da schmeify: improve determinism by ordering lifted procedures 2019-12-05 07:06:28 -07:00
Matthew Flatt
1083aa1317 cs: improve function and module name
The former "path.rkt" module handles more than just paths.
2019-12-05 05:50:07 -07:00
Matthew Flatt
c93693169a cs: fix handling of an empty command-line argument 2019-12-05 05:43:31 -07:00
Matthew Flatt
1f92e98590 cs: fixes for uninterned symbols in compiled code
Use newly added support for uninterned symbols (as opposed to gensyms)
in the Chez Scheme layer. Using uninterned symbols reduces
non-determinsitsm in the build.

The change to use Chez Scheme uninterned symbols exposed problems with
the way that Racket-level uninterned symbols (formerly implemented
with gensym) are handled in ".zo" files. The problem is that some
uninterned symbols are marshaled with `racket/fasl`, which is not
consostent with those that are marshaled by Chez Scheme's `fasl`. This
patch fixes those problems by ensuring that uninterned symbols are
always lifted to the level of a Chez Scheme `fasl` for a complete
linklet bundle.
2019-12-04 21:11:42 -07:00
Matthew Flatt
de2dedcdd7 Add uninterned symbols
Uninterned symbols are slightly more expensive to allocate than 0- or
1-argument calls to `gensym`, but they're much cheaper to hash (and
print). They're also more consistently distinct when unfasled, and the
fasled form is determinsitic.

original commit: 3167083008031b1f880e76a6f573563c7d9c888c
2019-12-04 12:43:35 -07:00
Matthew Flatt
4a36512570 cs: fix $value handling in fallback interpreter
Closes #2951
2019-12-04 07:06:50 -07:00
Matthew Flatt
1c74f8c956 improve names in keyword-function stack traces
Change the way names are generated for pieces of the implementation of
a keyword-argument function. These functions are not accessible as
values, so the names don't matter for printing a function, but the
names can show up in stack traces.
2019-12-02 07:03:09 -05:00
Paulo Matos
22387af060
Remove AppVeyor pipeline (#2949)
Work is already covered by tests in CI PR. Will soon be added to CI Push as well.
2019-12-02 10:39:57 +01:00
Paulo Matos
434fdc4de4
Remove support for azure-pipelines (#2948)
At this point Actions PR CI and Push CI cover all tests in Azure Pipelines so they
are not needed.
2019-12-02 10:29:40 +01:00
Paulo Matos
af986ffda6
Actions for Windows CI (#2945)
Build Racket.exe (3m) and RacketCS.exe (CS) on Windows on push.
2019-12-02 09:16:02 +01:00
Paulo Matos
2836a6027e
More complete set of tests in Actions (#2944)
This adds tests - 1 set of tests per step - for cgc, 3m and cs on Linux and MacOS.
2019-12-02 00:14:21 +01:00
Alexis King
e9fb60588b Fix fcontrol with prompt tag 2019-11-30 05:34:32 -06:00
Matthew Flatt
406fe85144 cs: fix defined-name reporting 2019-11-29 16:48:52 -07:00