Raymond Toy pushed to branch master at cmucl / cmucl
Commits: 26e3ad82 by Raymond Toy at 2018-02-17T19:44:02-08:00 Fix #60: `C::%UNARY-FROUND` is undefined
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
- - - - - 84d9a4bd by Raymond Toy at 2018-02-17T19:56:32-08:00 Oops. Need to build with the bootstrap file.
- - - - - 31c6bf9f by Raymond Toy at 2018-02-18T15:30:51+00:00 Merge branch 'rtoy-fix-60-unary-fround-undefined' into 'master'
Fix #60: unary fround undefined
Closes #60
See merge request cmucl/cmucl!36 - - - - -
5 changed files:
- .gitlab-ci.yml - + src/bootfiles/21c/boot-2018-02-1.lisp - src/code/float.lisp - src/general-info/release-21d.md - tests/issues.lisp
Changes:
===================================== .gitlab-ci.yml ===================================== --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ linux-runner: - mkdir snapshot - (cd snapshot; tar xjf ../cmucl-$version-linux.tar.bz2; tar xjf ../cmucl-$version-linux.extra.tar.bz2) script: - - bin/build.sh -C "" -o snapshot/bin/lisp + - bin/build.sh -B boot-2018-02-1 -C "" -o snapshot/bin/lisp - bin/make-dist.sh -I dist linux-4 - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
@@ -24,6 +24,6 @@ osx-runner: - mkdir snapshot - (cd snapshot; tar xjf ../cmucl-$version-darwin.tar.bz2) script: - - bin/build.sh -C "" -o snapshot/bin/lisp + - bin/build.sh -B boot-2018-02-1 -C "" -o snapshot/bin/lisp - bin/make-dist.sh -I dist darwin-4 - bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
===================================== src/bootfiles/21c/boot-2018-02-1.lisp ===================================== --- /dev/null +++ b/src/bootfiles/21c/boot-2018-02-1.lisp @@ -0,0 +1,5 @@ +;; Get rid of incorrect symbol c::%unary-fround and just inherit +;; %unary-fround from the kernel package. +(ext:without-package-locks + (unintern 'c::%unary-fround "C")) +(export 'kernel::%unary-fround "KERNEL")
===================================== src/code/float.lisp ===================================== --- a/src/code/float.lisp +++ b/src/code/float.lisp @@ -23,7 +23,7 @@ %unary-ftruncate/single-float %unary-ftruncate/double-float))
#-x87 -(export '(%unary-fround/single-float %unary-fround/double-float)) +(export '(%unary-fround %unary-fround/single-float %unary-fround/double-float))
(in-package "LISP") (export '(least-positive-normalized-short-float
===================================== src/general-info/release-21d.md ===================================== --- a/src/general-info/release-21d.md +++ b/src/general-info/release-21d.md @@ -29,10 +29,11 @@ public domain. * ANSI compliance fixes: * Bug fixes: * Gitlab tickets: - * ~~~#50~~~ CLX (Hemlock) fails to run. - * ~~~#49~~~ CLM crashes - * ~~~#47~~~ Backquate and multiple splices - * ~~~#59~~~ Incorrect type-derivation for `decode-float` + * ~~#50~~ CLX (Hemlock) fails to run. + * ~~#49~~ CLM crashes + * ~~#47~~ Backquate and multiple splices + * ~~#59~~ Incorrect type-derivation for `decode-float` + * ~~#60~~ The function `C::%UNARY-FROUND` is undefined * Other changes: * Improvements to the PCL implementation of CLOS: * Changes to building procedure:
===================================== tests/issues.lisp ===================================== --- a/tests/issues.lisp +++ b/tests/issues.lisp @@ -503,4 +503,15 @@ (c::decode-float-exp-derive-type-aux (c::specifier-type `(single-float ,arg-lo ,arg-hi))) arg-lo - arg-hi)))) \ No newline at end of file + arg-hi)))) + +(define-test issue.60 + (:tag :issues) + (let ((c14 (compile nil #'(lambda (x) + (fround (the (member 1.0 2d0) x)))))) + (assert-equalp + (values 1.0 0.0) + (funcall c14 1.0)) + (assert-equalp + (values 2d0 0d0) + (funcall c14 2d0))))
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/894e18e020e6a16024bc63f2f...
--- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/894e18e020e6a16024bc63f2f... You're receiving this email because of your account on gitlab.common-lisp.net.