Raymond Toy pushed to branch master at cmucl / cmucl Commits: 772641b9 by Raymond Toy at 2026-02-05T19:39:14-08:00 Fix #469: Reenable cr_pow - - - - - 6ac1b6b4 by Raymond Toy at 2026-02-05T19:39:14-08:00 Merge branch 'issue-469-enable-cr-pow' into 'master' Fix #469: Reenable cr_pow Closes #469 and #470 See merge request cmucl/cmucl!346 - - - - - 3 changed files: - .gitlab-ci.yml - bin/run-unit-tests.sh - src/lisp/irrat.c Changes: ===================================== .gitlab-ci.yml ===================================== @@ -147,7 +147,9 @@ linux:build: - job: linux:install artifacts: true variables: - CONFIG: "x86_linux_clang" + # Fedora 41 must build with gcc because the clang build fails some + # ansi-tests. See [#469]. + CONFIG: "x86_linux" # These rules is needed so that the static analyzer job can run on a # schedule because this is a prerequisite of the analyzer build. A # regular push or merge request does the normal stuff. @@ -171,7 +173,7 @@ linux:cross-build: - linux-4/lisp variables: # This must match the config used for the linux build! - CONFIG: "x86_linux_clang" + CONFIG: "x86_linux" needs: @@ -346,7 +348,10 @@ ubuntu:build: - job: ubuntu:install artifacts: true variables: - CONFIG: "x86_linux_clang" + # Build with gcc on Ubuntu 25.10. It produces a lisp than passes + # the ansi-tests. Clang seems to fail the ansi-tests WRITE.1, + # PRINT.1, and friends when cr_pow is used. + CONFIG: "x86_linux" ubuntu:test: <<: *unit_test_configuration ===================================== bin/run-unit-tests.sh ===================================== @@ -41,6 +41,11 @@ done # Shift out the options shift $((OPTIND - 1)) +# Create the test directory needed by the issue.45 test. +#rm -rf test-tmp +#mkdir test-tmp +#ln -s /bin/ls test-tmp/ls-link + # Set the timestamps on 64-bit-timestamp-2038.txt and # 64-bit-timestamp-2106.txt, but only for OSes where we know this # works. (This is so we don't an annoying error message from touch ===================================== src/lisp/irrat.c ===================================== @@ -202,13 +202,17 @@ lisp_log10(double x) double lisp_pow(double x, double y) { +#ifdef FEATURE_CORE_MATH /* - * cr_pow seems causes ansi-tests to fail in test WRITE.1 among - * others. Somewhere an invalid operation is occurring. Thus - * just use fdlibm for now until we can figure out what's causing - * the failure. + * cr_pow when compiled with older versions of gcc or clang can + * cause failures in the ansi-tests [#469]. Ubuntu 25.10 and Fedora 41 + * (gcc only) are known to have compilers that work well enough + * that the ansi-tests pass. */ + return cr_pow(x, y); +#else return __ieee754_pow(x, y); +#endif } double View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/5b6d4d73d0748022cb160c6... -- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/5b6d4d73d0748022cb160c6... You're receiving this email because of your account on gitlab.common-lisp.net.
participants (1)
-
Raymond Toy (@rtoy)