- Feb 19, 2018
-
-
Raymond Toy authored
Fixes #61 and #62. The `ARRAY-HAS-FILL-POINTER-P` and `ARRAY-DISPLACEMENT` functions are declared inline and the compiler tries to constant-fold these inlined functions operating on simple arrays. Thus don't allow the compiler to constant-fold calls to `%ARRAY-FILL-POINTER-P`. This is normally protected by a call to `ARRAY-HEADER-P`, but when it's inlined, the compiler tries to constant-fold `%ARRAY-FILL-POINTER-P` on an array without such a slot. Likewise `ARRAY-DISPLACEMENT` calls `%ARRAY-DISPLACED-P`, `%ARRAY-DATA-VECTOR`, and `%ARRAY-DISPLACEMENT`, and the calls are protected by `ARRAY-HEADER-P`. So don't constant-fold these either. Maybe we could also make CONSTANT-FOLD-CALL be smarter about this? * src/compiler/generic/objdef.lisp * Remove flushable from these ref-trans methods. * src/general-info/release-21d.md * Update * tests/issues.lisp * Add tests from the bug reports.
-
- Feb 18, 2018
-
-
Raymond Toy authored
The deftransforms `upgraded-complex-real-contagion-arg1` and `upgraded-complex-real-contagion-arg2` were coercing the complex number to the exact type of the float number. Because of the `THE` form, the type of the float was `(member 1d0)`, so the compiler was coercing `#c(1/2 1/2)` to `(complex (double-float 1d0))`, which is wrong. Therefore, coerce the complex to just the type format of the real part, ignoring any bounds. * src/compiler/float-tran.lisp * Coerce to format type, discarding any bounds * src/general-info/release-21d.md * Update notes * tests/issues.lisp * Added test for this
-
Raymond Toy authored
Remove the symbol `C::%UNARY-FROUND` and just let the compiler package inherit it from the kernel package. * src/bootfiles/21c/boot-2018-02-1.lisp * Use this to bootstrap the change (by uninterning the symbol) * src/code/float.lisp * Just export %unary-fround * src/general-info/release-21d.md * Update * tests/issues.lisp * Add test for this issue
-
- Feb 04, 2018
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- Feb 03, 2018
-
-
Raymond Toy authored
-
- Jan 29, 2018
-
-
Raymond Toy authored
* Print multiple splices correclty without the extra set of parenthesis around each splice. * Add test for this.
-
- Jan 28, 2018
-
-
Raymond Toy authored
- src/tools/worldbuild.lisp - only compile rand-xoroshiro if :random-xoroshiro is a feature - src/tools/worldload.lisp - only load rand-xoroshiro if :random-xoroshiro is a feature - tests/rng.lisp - Add a quick test that the state vector of the *random-state* has the correct type.
-
- Dec 21, 2017
-
-
Raymond Toy authored
* rand-xoroshiro.lisp: * Rename xoroshiro-jump to random-state-jump * Add documentation/comments. * tests/rng.lisp * Add tests for the RNG jump function.
-
- Dec 20, 2017
-
-
Raymond Toy authored
These tests test the actual implementation details of the xoroshiro128+ generator, so conditionalize it for this generator.
-
Raymond Toy authored
-
- Dec 16, 2017
-
-
Raymond Toy authored
-
- Oct 08, 2017
-
-
Raymond Toy authored
The upgrade to ASDF 3.3.0 broke the pcl-tests; this version doesn't like having the defsystem in the same file. Thus, move the defsystem to its own file and load it up in pcl.lisp (via require).
-
- Sep 30, 2017
-
-
Raymond Toy authored
Add the tests given in issue #45.
-
- Sep 09, 2017
-
-
Raymond Toy authored
The main problem is that we weren't calling wait3 with WCONTINUED so that we would be signaled when the process continues. And we also need to check that result of wait call was WCONTINUED> Replace the wait3 routine with a C routine (prog_status) so we don't have to deal with the OS-specific flags. This function basically returns what the lisp function wait3 did. Use this function in GET-PROCESSES-STATUS-CHANGES. - runprog.c: - Add prog_status - run-program.lisp: - Use prog_status instead of wait3 - issues.lisp: - Add basic test
-
- Sep 06, 2017
-
-
Raymond Toy authored
The failed test causes the pipeline to fail, as expected.
-
Raymond Toy authored
-
- Dec 02, 2016
-
-
Raymond Toy authored
Don't use cl:assert for the lisp-unit test; it should use lisp-unit assertions.
-
- Nov 30, 2016
-
-
Raymond Toy authored
-
- Nov 29, 2016
-
-
Raymond Toy authored
Basically used the repro case from the issue.
-
- Nov 11, 2016
-
-
Raymond Toy authored
Allow 1899 as a year, but also add a check that the resulting time is a non-negative integer. Add a test for this too in issues.lisp.
-
- Oct 04, 2016
-
-
Raymond Toy authored
Forgot to check this in with the fix for issue #24.
-
- Oct 03, 2016
-
-
Elias Pipping authored
-
- Sep 26, 2016
-
-
Raymond Toy authored
-
- Sep 10, 2016
-
-
Raymond Toy authored
-
- Sep 08, 2016
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- Sep 04, 2016
-
-
Raymond Toy authored
When support for search-lists was added to PATHNAME-MATCH-P, support for logical pathnames was broken because PATHNAME-MATCH-P eventually calls TRANSLATE-LOGICAL-PATHNAME which calls PATHNAME-MATCH-P with logical pathnames. This caused infinite recursion. So add back the original PATHNAME-MATCH-P, but rename to %PATHNAME-MATCH-P and use that in TRANSLATE-LOGICAL-PATHNAME and friends. Add test for this case too.
-
- Aug 21, 2016
-
-
Raymond Toy authored
When writing a string to the program too few octets were written because strings are now 16-bits wide. To fix this, only write the low 8-bits of each character. This matches what reading does. This pretty much implies that the caller should use STREAM:STRING-ENCODE and STREAM::STRING-DECODE on the strings. Add several tests to verify the expected results.
-
- May 14, 2016
-
-
Raymond Toy authored
src/compiler/float.lisp: o The deftransform coerce was checking for a type of 'float and using %single-float to do the conversion. This is incorrect; it should only apply if the type is 'single-float. tests/issues.lisp o Add test for this. Verified that the test fails on the current snapshot and ix fixed by this change.
-
- Jan 01, 2016
-
-
Raymond Toy authored
We know the result of (expt 0 power) so return it immediately without first checking if the power exceeds the limit. Also took the opportunity to add a better message to the intexp-limit-error condition to make it more explicit what is being computed and why it's failing. Tests added too.
-
- Dec 31, 2015
-
-
Raymond Toy authored
Allow search lists in pathname-match-p. For each arg, we enumerate the possible values of the search list and try to find a match between the path and the wild path. If there's a match, return true. Tests added for some cases of pathname-match-p with search lists. Fix issue #16.
-
- Dec 28, 2015
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- Dec 25, 2015
-
-
Raymond Toy authored
Also replae WITH-INXACT-EXCEPTION-ENABLED with WITH-FLOAT-TRAPS-ENABLED. All tests still pass, as expected.
-
- Dec 24, 2015
-
-
Raymond Toy authored
Note that original code didn't actually signal inexact probably because the compiler constant-folded one - tiny to one.
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-